gpt4 book ai didi

python - 当使用 pandas 连续出现多个组时,如何按组添加数字

转载 作者:行者123 更新时间:2023-12-01 07:54:51 26 4
gpt4 key购买 nike

我有一个像这样的数据框:

df
col1 col2
12 A
14 A
22 B
24 C
20 A
18 B
16 B

现在,如果 col2 值连续出现一次以上,我想在 col2 的基础上添加 col1 的值。最终的数据框应如下所示:

col1    col2
A 26
B 22
C 24
A 20
B 34

我可以使用groupby(),但如何区分连续条件?

最佳答案

使用GroupBy.aggSeries.ne 创建的助手 SeriesSeries.shiftSeries.cumsum :

s = df['col2'].ne(df['col2'].shift()).cumsum()
df = df.groupby(s).agg({'col2':'first', 'col1':'sum'}).reset_index(drop=True)
print (df)
col2 col1
0 A 26
1 B 22
2 C 24
3 A 20
4 B 34

关于python - 当使用 pandas 连续出现多个组时,如何按组添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56035867/

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