gpt4 book ai didi

python - 用于分组的窗口函数

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

我正在尝试按特定列对 python 数据框中的项目进行分组。我需要在保持不同名称的同时获得每个 ID 的最小客户数。这类似于 SQL 窗口函数 MIN() OVER (PARTITION BY)。

这是我的:

ID       Name          Customers
1 Jon Smith 5
1 James Smith 3
2 David 7
3 Saul 5
3 Samuel 10
3 Paul 2

结果

ID       Name          Customers
1 Jon Smith 3
1 James Smith 3
2 David 7
3 Saul 2
3 Samuel 2
3 Paul 2

有人知道可以执行此操作的数据框函数吗?

最佳答案

groupby()map()一起使用

import pandas as pd 

df = pd.DataFrame({'id':[1,1,2,3,3,3], 'Name':['Jon Smith','James Smith','David','Saul','Samuel','Paul'],'Customers':[5,3,7,5,10,2]})

x = df.groupby('id')['Customers'].min()
df['Customers'] = df['id'].map(x)

输出:

    id  Name       Customers
0 1 Jon Smith 3
1 1 James Smith 3
2 2 David 7
3 3 Saul 2
4 3 Samuel 2
5 3 Paul 2

关于python - 用于分组的窗口函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56581614/

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