Pandas在所有数据流中添加另一列的计数

laawzig2  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(137)

我有一个 Dataframe :

df = C1  C2  E  
     1    2  3
     4    9  1
     3    1  1 
     8    2  8
     8    1  2

我想添加另一个列,该列将包含所有 Dataframe 中列“E”中的值的计数(在列E中),因此这里的输出将是:

df = C1. C2. E. cou 
     1.   2. 3.  1 
     4.   9. 1.  2
     3.   1. 1   2
     8.   2. 8.  1
     8.   1. 2.  1 #2 appears only one it the column E

如何才能高效地完成?

jobtbby3

jobtbby31#

这里有一个方法。找到匹配的并把它们加起来。

import pandas as pd

data = [
    [1,2,3],[4,9,1],[3,1,1],[8,2,8]
]

df = pd.DataFrame( data, columns=['C1','C2','E'])
print(df)

def count(val):
    return (df['C1']==val).sum() + (df['C2']==val).sum()

df['cou'] = df.E.apply(count)
print(df)

输出量:

C1  C2  E
0   1   2  3
1   4   9  1
2   3   1  1
3   8   2  8
   C1  C2  E  cou
0   1   2  3    1
1   4   9  1    2
2   3   1  1    2
3   8   2  8    1

相关问题