gpt4 book ai didi

python - 有没有办法获得 groupby 中最后一个值的出现次数?

转载 作者:行者123 更新时间:2023-12-03 15:41:12 26 4
gpt4 key购买 nike

这是一个示例数据框 -

df = pd.DataFrame({'ID': ['a1', 'a1', 'a1', 'a1', 'b2', 'b2', 'b2'],
'Price': [15, 12, 10, 10, 36, 34, 36]})

ID Price
0 a1 15
1 a1 12
2 a1 10
3 a1 10
4 b2 36
5 b2 34
6 b2 36
这是预期的输出 -
df.groupby('ID').agg({'Price': ['last', 'last_count']})
ID Price_last Price_last_count
a1 10 2
b2 36 2
我需要能够在 agg 中执行“last_count”操作。

最佳答案

df.groupby('ID')['Price'].agg(lastvalue = 'last', 
count = lambda x: sum(x==x.iloc[-1]) )


lastvalue count
ID
a1 10 2
b2 36 2
编辑以获取 OP 确切格式(由 Scott Boston 提供):
df.groupby('ID', as_index=False)\
.agg(Price_last= ('Price' , 'last'),
Price_last_count=('Price' , lambda x: sum(x==x.iloc[-1])))
输出:
   ID  Price_last  Price_last_count
0 a1 10 2
1 b2 36 2

关于python - 有没有办法获得 groupby 中最后一个值的出现次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66361621/

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