首页 > 解决方案 > Python数据框:添加当另一列更改时递增的列

问题描述

我有一个数据框如下

df = pd.DataFrame({
    'Values' : [False, False, True, False, False, True, True, False, False, True]
})
df
    Values
0   False
1   False
2   True
3   False
4   False
5   True
6   True
7   False
8   False
9   True

我想添加另一列名为“count”的列,只要在“Values”列中检测到 True,该列就会递增

我的预期输出如下

    Values  Count
0   False   0
1   False   0
2   True    1
3   False   1
4   False   1
5   True    2
6   True    3
7   False   3
8   False   3
9   True    4

现在我正在做如下

counter = [0]
def handleOneRow(row):
    if row['Values'] == True:
        counter[0] = counter[0] + 1
    return counter[0]
df['count'] = df.apply(lambda x : handleOneRow(x), axis=1)

数据框中还有其他简单的方法吗?

标签: pythonpython-3.xpandasdataframe

解决方案


推荐阅读