<分区>
我正在尝试创建一个新列,其中每一行将包含整个数据集中特定值的计数。
我有以下数据框:
import pandas as pd
df = pd.DataFrame({'a': [1,2,3,4,5], 'b': [2,3,4,5,6], 'c':['or','ta','fl','or','fl'], 'd':[5,9,1,3,7]})
我想添加一个列 e
,它计算每一行 c
列的值在数据集中出现的次数,如下所示:
df = pd.DataFrame({'a': [1,2,3,4,5], 'b': [2,3,4,5,6], 'c':['or','ta','fl','or','fl'], 'd':[5,9,1,3,7], 'e':[2,1,2,2,2]})
a b c d
0 1 2 or 5
1 2 3 ta 9
2 3 4 fl 1
3 4 5 or 3
4 5 6 fl 7
我试图遍历整个数据集,但没有成功:
def getSum(c):
return df[df==c].sum()
def createE(df):
for index, row in df.iterrows():
row['e'] = getSum(row['c'])
return df
a b c d e
0 1 2 or 5 2
1 2 3 ta 9 1
2 3 4 fl 1 2
3 4 5 or 3 2
4 5 6 fl 7 2