我有一个名为df
的熊猫数据帧。在这个数据帧中,我得到了一个名为value
的变量。我想添加一个变量来计算相同值的外观,直到它变为另一个值。我们称这个新变量为count
。你知道吗
我的数据帧如下所示:
import pandas as pd
import numpy as np
ar = np.array([[1], [1], [2],[2], [3], [3], [1], [1], [2], [2]])
df = pd.DataFrame(ar, columns = ['Value'])
print(df)
Value
0 1
1 1
2 2
3 2
4 3
5 3
6 1
7 1
8 2
9 2
我试过这个代码:
df['count'] = df.groupby('Value').cumcount() + 1
返回:
print(df)
Value count
0 1 1
1 1 2
2 2 1
3 2 2
4 3 1
5 3 2
6 1 3
7 1 4
8 2 3
9 2 4
我希望这样:
print(df)
Value count
0 1 1
1 1 2
2 2 1
3 2 2
4 3 1
5 3 2
6 1 1
7 1 2
8 2 1
9 2 2
有没有办法得到这个结果?你知道吗
尽管@anky_91 answer是完美的,但一个简单的解决方案是创建一个函数
count_upto
,而不使用他在答案中讨论的方法。你知道吗IIUC,使用:
其中:
相关问题 更多 >
编程相关推荐