我正在尝试转换表(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')
,但得到了错误:
例外:数据必须是一维的
似乎是因为我的cat
成员在指数area
中不均衡吗?我们如何解决这个问题?
提前谢谢。
干杯,汤姆
发布于 2017-10-10 12:56:33
您可以尝试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
https://stackoverflow.com/questions/46667084
复制相似问题