gpt4 book ai didi

python - 带字符串的 Pandas Pivot-ValueError : Index contains duplicate entries, 无法 reshape

转载 作者:太空宇宙 更新时间:2023-11-04 02:36:03 25 4
gpt4 key购买 nike

给定这个数据框:

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') 但似乎无法显示它或将其放入数据框中。我已经找到了这些问题的答案,但它们假定为 float 或整数值。

提前致谢!

最佳答案

你的真实数据有问题,包含 indexerField 成对的重复项,因此需要一些聚合函数,如 ', '.join ,因为使用 strings:

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)

关于python - 带字符串的 Pandas Pivot-ValueError : Index contains duplicate entries, 无法 reshape ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47858798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com