gpt4 book ai didi

pandas - 计算数据帧中数字连续出现的次数

转载 作者:行者123 更新时间:2023-12-04 08:50:25 25 4
gpt4 key购买 nike

我有一个包含 1s 和 0s 的虚拟列的数据框,我想为每一行计算 1s 或 0s 发生了多少次,每次从 0 开始,向上计数 1s 并向下计数 0s 我有下面是一个例子:

 import pandas as pd
df = pd.DataFrame({'Dummy': [0, 0, 1, 1, 1, 0, 1, 1, 1, 1],
'Counter': [-1, -2, 1, 2, 3, -1, 1, 2, 3, 4]})

最佳答案

咱们试试吧:

blocks = df.Dummy.diff().ne(0).cumsum()
counters = df.groupby(blocks).cumcount() + 1
df['Counter'] = np.where(df['Dummy']==0, -1, 1) * counters
输出:
   Dummy  Counter
0 0 -1
1 0 -2
2 1 1
3 1 2
4 1 3
5 0 -1
6 1 1
7 1 2
8 1 3
9 1 4

关于pandas - 计算数据帧中数字连续出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64128616/

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