gpt4 book ai didi

python - 是否可以将 `first()` 和 `last()` 应用于 Pandas groupby 操作中的分隔列?

转载 作者:行者123 更新时间:2023-11-28 20:58:23 26 4
gpt4 key购买 nike

我有一个数据框:

df = pd.DataFrame({'id': [1, 1, 2, 2], 'data': [1, 2, 3, 4], 'value': [10, 9, 8, 7]})

In [4]: df
Out[4]:
id data value
0 1 1 10
1 1 2 9
2 2 3 8
3 2 4 7

In [5]: df.groupby(['id']).last()
Out[5]:
data value
id
1 2 9
2 4 7

In [6]: df.groupby(['id']).first()
Out[6]:
data value
id
1 1 10
2 3 8

是否有可能从 groupby 生成一个数据帧,该数据帧由应用于 valuelast 的 first() 组成() 应用于数据?如果它更容易,您可以假设 last() 应用于除 value 之外的所有内容,而 first() 仅应用于 值(value)。我可以在两个单独的 groupby 中完成,但是可以在一个中完成吗?

最佳答案

您可以将函数字典传递给 agg :

In[80]:
df.groupby('id').agg({'data':'last', 'value':['first','last']})
Out[80]:
data value
last first last
id
1 2 10 9
2 4 8 7

如果您想在“值”列上调用firstlast,您可以传递一个函数列表。这里 pandas 能够通过仅传递函数的字符串名称来推断调用哪个方法

关于python - 是否可以将 `first()` 和 `last()` 应用于 Pandas groupby 操作中的分隔列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51747979/

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