我正在尝试转换表格(df):
area cat value
0 A 3
0 B 2
1 A 9
2 A 8
2 B 3
2 C 1
到表格(df2):
area A B C
0 3 2 nan
1 9 nan nan
2 8 3 1
我试过df2=df.pivot(index='area',columns='cat',value='value')
然而得到了错误'异常:数据必须是1维的
似乎是因为我有不均匀的“猫”成员。跨越指数'?我们如何解决这个问题?
提前致谢。
干杯, 汤姆
答案 0 :(得分:1)
您可以尝试使用pivot_table并将列作为cat
df = pd.read_csv(StringIO.StringIO(data))
print df
area cat value
0 0 A 3
1 0 B 2
2 1 A 9
3 2 A 8
4 2 B 3
5 2 C 1
print pd.pivot_table(df, index=['area'], columns=['cat'])
cat A B C
area
0 3.0 2.0 NaN
1 9.0 NaN NaN
2 8.0 3.0 1.0