以向量化方式计算大pandas中特定连续相等值的数量
假设我们有以下pandas DataFrame:
In [1]:import pandas as pd
import numpy as np
df = pd.DataFrame([0, 1, 0, 0, 1, 1, 0, 1, 1, 1], columns=['in'])
df
Out[1]:
in
0 0
1 1
2 0
3 0
4 1
5 1
6 0
7 1
8 1
9 1
如何以 大熊猫的连续数量?我想要这样的结果:
in out0 0 0
1 1 1
2 0 0
3 0 0
4 1 1
5 1 2
6 0 0
7 1 1
8 1 2
9 1 3
类似于矢量化求和运算的操作,它会在特定条件下重置。
回答:
您可以执行以下操作(贷方:如何使用系列/数据框模拟itertools.groupby):
>>> df['in'].groupby((df['in'] != df['in'].shift()).cumsum()).cumsum()0 0
1 1
2 0
3 0
4 1
5 2
6 0
7 1
8 2
9 3
dtype: int64
以上是 以向量化方式计算大pandas中特定连续相等值的数量 的全部内容, 来源链接: utcz.com/qa/411477.html