PythonDataFrame:添加一列,该列在另一列更改时递增
我有一个如下的数据帧PythonDataFrame:添加一列,该列在另一列更改时递增,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个如下的数据帧 df = pd.DataFrame({ 'Values' : [False, False, True, False, False, True, True, False, False, True] }) df 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
df = pd.DataFrame({
'Values' : [False, False, True, False, False, True, True, False, False, True]
})
df
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)
我想添加另一个名为“count”的列,每当在“Values”列中检测到True时,该列将递增1
我的预期产出如下
df = pd.DataFrame({
'Values' : [False, False, True, False, False, True, True, False, False, True]
})
df
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)
现在我正在做如下工作
df = pd.DataFrame({
'Values' : [False, False, True, False, False, True, True, False, False, True]
})
df
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)
在数据帧中还有其他简单的方法吗?
df['Count']=df['Values'].cumsum()
谢谢,我搜索了很多,但找不到它。令人惊叹的。。。