gpt4 book ai didi

python-3.x - 如何将多个单元格合并为一个文本单元格

转载 作者:行者123 更新时间:2023-12-01 00:35:46 26 4
gpt4 key购买 nike

我有一个这样的数据框

import pandas as pd
df = pd.DataFrame({'item': [1, 1,2,2],
'user': [1,2,2,1],
'appraisal': [4,2,1,3],
'feedback' : ['good', 'bad', 'bad', 'well']
})
names = ['item', 'user', 'appraisal', 'feedback' ]
df = df[names]
df

我想获得如下数据框
  item  appraisal   feedback
0 1 3 good bad
1 2 2 bad well

其中“项目”是来自 df 的“项目”,“评估”是项目的 df.appraisal 的平均值,“反馈”是来自项目的 df.feedback 的组合单元格
我可以得到两个变量
df1 = df.groupby('item')['appraisal'].mean()

但是如何组合文本单元格?我可以将 pivot_table 项目/用户和“反馈”作为值,然后添加单元格 user1+user2.....
但真实的数据集有许多独特的值,我认为这不是最好的决定
谢谢你的帮助

最佳答案

您可以使用 GroupBy.agg()方法:

In [4]: df.groupby('item').agg({'appraisal':'mean','feedback':' '.join})
Out[4]:
appraisal feedback
item
1 3 good bad
2 2 bad well

或者,如果您需要“扁平”DF,请使用 as_index=False@John Galt has recommended :
In [5]: df.groupby('item', as_index=False).agg({'appraisal':'mean','feedback':' '.join})
Out[5]:
item appraisal feedback
0 1 3 good bad
1 2 2 bad well

关于python-3.x - 如何将多个单元格合并为一个文本单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41314967/

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