2024-04-19 05:52:38 发布
网友
假设我有一个熊猫数据帧,如下所示:
Category col1 col2 value A a a 1 A a b 2 A b a 3 A b b 4 B a a 5 B a b 6 B b a 7 B b b 8
现在,我想将数据帧更改为以下格式:
Category aa ab ba bb A 1 2 3 4 B 5 6 7 8
我尝试了几种方法,但都不起作用。是否存在实现这一目标的功能
将列与^{}连接在一起:
df['new'] = df['col1'] + df['col2'] df1 = df.pivot('Category','new','value') print (df1) new aa ab ba bb Category A 1 2 3 4 B 5 6 7 8
或^{}与^{}:
df1 = df.set_index(['Category',df['col1'] + df['col2']])['value'].unstack() print (df1) aa ab ba bb Category A 1 2 3 4 B 5 6 7 8
索引中的最后一列(如果需要):
df1 = df1.rename_axis(None, axis=1).reset_index() print (df1) Category aa ab ba bb 0 A 1 2 3 4 1 B 5 6 7 8
如果可能出现错误:
ValueError: Index contains duplicate entries, cannot reshape
print (df) Category col1 col2 value 0 A a a 1 1 A a a 4 2 A a b 2 3 A b a 3 4 A b b 4 5 B a a 5 6 B a b 6 7 B b a 7 8 B b b 8
然后需要带有聚合函数的^{},例如默认mean:
mean
df['new'] = df['col1'] + df['col2'] df = df.pivot_table(index='Category',columns='new',values='value', aggfunc='mean') print (df) new aa ab ba bb Category A 2.5 2.0 3.0 4.0 B 5.0 6.0 7.0 8.0
将列与^{} 连接在一起:
或^{} 与^{} :
索引中的最后一列(如果需要):
如果可能出现错误:
然后需要带有聚合函数的^{} ,例如默认
mean
:相关问题 更多 >
编程相关推荐