Pandas Pivot with Strings- ValueError:索引包含重复的条目,无法重塑
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas Pivot with Strings- ValueError:索引包含重复的条目,无法重塑相关的知识,希望对你有一定的参考价值。
鉴于此数据框架:
import pandas as pd
df=pd.DataFrame({'Field':['a','b','a','b'],'Value':['aa','bb','cc','dd'],
'indexer':[0,0,1,1]})
df
Field Value indexer
0 a aa 0
1 b bb 0
2 a cc 1
3 b dd 1
我想生成这样的数据帧:
indexer a b
0 aa bb
1 cc dd
当值字段是数字时,我已经看到了如何实现这一点的答案,但我似乎无法使用字符串数据。
我试过df.groupby('indexer'),但似乎无法显示它或将其放入数据帧。我找到了这些的答案,但它们假设浮点数或整数值。
提前致谢!
答案
有问题你的真实数据包含indexer
与Field
成对的重复,因此需要一些像', '.join
这样的聚合函数,因为使用string
s:
df = df.groupby(['indexer', 'Field'])['Value'].apply(', '.join).unstack()
print (df)
Field a b
indexer
0 aa bb
1 cc dd
要么:
df = df.pivot_table(index='indexer', columns='Field', values='Value', aggfunc=','.join)
以上是关于Pandas Pivot with Strings- ValueError:索引包含重复的条目,无法重塑的主要内容,如果未能解决你的问题,请参考以下文章