gpt4 book ai didi

python - 如何进行自定义分组依据?

转载 作者:行者123 更新时间:2023-12-05 05:42:21 25 4
gpt4 key购买 nike

我的目标是对数据框进行分组 DF按列的值 Name并将特定列聚合为总和。

当前数据框

<表类="s-表"><头><日> 姓名Val1val2val3<正文>0测试NaN5NaN1测试30NaN32测试30NaN3

输出除外

<表类="s-表"><头><日> 姓名Val1val2val3<正文>0测试6053

我试过的

DF.groupby(['Name'], as_index=False)[["Val1"]].sum()

返回

<表类="s-表"><头><日> 姓名Val1<正文>0测试60

问题

我要val2val3作为唯一值,然后将它们分组,但我不知道该怎么做。

也许引入一个中介DF

<表类="s-表"><头><日> 姓名Val1val2val3<正文>0测试NaN531测试30532测试3053

这样下面的代码就可以工作了:

DF.groupby(['Name','val2','val3'], as_index=False)[["Val1"]].sum()

请记住,我的数据框有几个值 Name

最好的方法是什么?

最佳答案

如果我没理解错的话,每组的 val2 和 val3 列中只有一个唯一的非缺失值。否则你的问题没有多大意义,因为你没有指定如何决定从这些列中获取哪个值。

鉴于这些限制,您可以使用:

result = df.groupby('Name', as_index=False).agg({'Val1': 'sum', 'val2': 'first', 'val3': 'first'})

关于python - 如何进行自定义分组依据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72055513/

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