gpt4 book ai didi

python - groupby 在带有文本的列中使用时返回多级数据框

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

我正在尝试对一些信号进行分组并同时连接文本,因为我使用了类似于以下代码的内容。我在哪里使用 sum_x 自定义函数连接“文本”下的文本

lst = [{'name': 'A', 'reg': '1', 'text': 'txt1', 'value': 5},
{'name': 'A', 'reg': '1', 'text': 'txt2', 'value': 2},
{'name': 'B', 'reg': '2', 'text': 'txt3', 'value': 2}]
data = pd.DataFrame(lst)
sum_x = lambda x : x.sum()
data.groupby(by=['name', 'reg']).apply(sum_x)

Out[48]:
name reg text value
name reg
A 1 AA 11 txt1txt2 7
B 2 B 2 txt3 2

但这并没有产生预期的结果请注意文本列是如何按预期添加的,还有连接的“by”列。响应也有一个额外的水平。是否有可能获得类似的东西:

name reg      text  value       
A 1 txt1txt2 7
B 2 txt3 2

“by”中的列保存在哪里?

最佳答案

试试这个:

In [21]: data.groupby(['name', 'reg']).agg({'value':'sum', 'text':'sum'}).reset_index()
Out[21]:
name reg text value
0 A 1 txt1txt2 7
1 B 2 txt3 2

关于python - groupby 在带有文本的列中使用时返回多级数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36189217/

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