gpt4 book ai didi

python - 将函数应用于 pandas dataframe groupby 中的第二列

转载 作者:太空狗 更新时间:2023-10-29 20:58:05 27 4
gpt4 key购买 nike

在 pandas 数据框中,可以使用函数对其索引进行分组。我希望定义一个应用于列的函数。

我希望按两列分组,但我需要按任意函数 foo 对第二列进行分组:

group_sum = df.groupby(['name', foo])['tickets'].sum()

如何定义 foo 以将第二列分为两组,例如,根据值是否为 > 0 来划分?或者,是否使用了完全不同的方法或语法?

最佳答案

Groupby 可以接受标签和系列/数组的任意组合(只要数组的长度与数据框的长度相同),因此您可以将函数映射到您的列并将其传递到 groupby,例如

df.groupby(['name', df[1].map(foo)])

或者,您可能希望在执行 groupby 之前将条件作为新列添加到您的数据框中,这将具有在索引中为其命名的优势:

df['>0'] = df[1] > 0
group_sum = df.groupby(['name', '>0'])['tickets'].sum()

关于python - 将函数应用于 pandas dataframe groupby 中的第二列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40251178/

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