说我有一个具有以下结构的python DataFrame:
pd.DataFrame([[1,2,3,4],[1,2,3,4],[1,3,5,6],[1,4,6,7],[1,4,6,7],[1,4,6,7]])
Out[262]:
0 1 2 3
0 1 2 3 4
1 1 2 3 4
2 1 3 5 6
3 1 4 6 7
4 1 4 6 7
5 1 4 6 7
我如何添加一个名为“ ct”的列,该列对第1-3列与每个匹配的行匹配的DataFrame的实例进行计数...这样,当完成所有操作时,DataFrame看起来像这样。
0 1 2 3 ct
0 1 2 3 4 2
1 1 2 3 4 2
2 1 3 5 6 1
3 1 4 6 7 3
4 1 4 6 7 3
5 1 4 6 7 3
最佳答案
您可以使用groupby
+ transform
+ size
:
df['ct'] = df.groupby([1,2,3])[1].transform('size')
#alternatively
#df['ct'] = df.groupby([1,2,3])[1].transform(len)
print (df)
0 1 2 3 ct
0 1 2 3 4 2
1 1 2 3 4 2
2 1 3 5 6 1
3 1 4 6 7 3
4 1 4 6 7 3
5 1 4 6 7 3
关于python - 使用python数据帧将满足条件的行计数列添加到满足条件的每一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43497839/