gpt4 book ai didi

python - 按顺序计算每组 pandas

转载 作者:太空狗 更新时间:2023-10-30 00:42:40 26 4
gpt4 key购买 nike

我有一个按两列分组的 df。我想按顺序计算每个组。下面的代码按顺序计算组中的每一行。这似乎比我想象的要容易,但无法弄清楚。

df = pd.DataFrame({
'Key': ['10003', '10009', '10009', '10009',
'10009', '10034', '10034', '10034'],
'Date1': [20120506, 20120506, 20120506, 20120506,
20120620, 20120206, 20120206, 20120405],
'Date2': [20120528, 20120507, 20120615, 20120629,
20120621, 20120305, 20120506, 20120506]
})


df['Count'] = df.groupby(['Key','Date1']).cumcount() + 1

预期结果:

    Date1       Date2       Key    Count
0 20120506 20120528 10003 1
1 20120506 20120507 10009 2
2 20120506 20120615 10009 2
3 20120506 20120629 10009 2
4 20120620 20120621 10009 3
5 20120206 20120305 10034 4
6 20120206 20120506 10034 4
7 20120405 20120506 10034 5

最佳答案

你正在寻找groupby + ngroup:

df['Count'] = df.groupby(['Key','Date1']).ngroup() + 1
df

Date1 Date2 Key Count
0 20120506 20120528 10003 1
1 20120506 20120507 10009 2
2 20120506 20120615 10009 2
3 20120506 20120629 10009 2
4 20120620 20120621 10009 3
5 20120206 20120305 10034 4
6 20120206 20120506 10034 4
7 20120405 20120506 10034 5

ngroup 只是给每个组一个标签。

关于python - 按顺序计算每组 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48837754/

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