Python 对于列中的类似值,请添加新列频率
我有一个数据帧:Python 对于列中的类似值,请添加新列频率,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧: Id age number 1 35 7 5 76 9 1 15 0 2 10 4 5 43 8 我需要得到的是: Id age number freq 1 35 7 2 5 76 9 2 1 15 0 1 2 10 4 1 5 43 8 1 添加一个新列频率,对于列中的每个值,我们将获取ID中具有相同值的所有行,并对cat值较
Id age number
1 35 7
5 76 9
1 15 0
2 10 4
5 43 8
我需要得到的是:
Id age number freq
1 35 7 2
5 76 9 2
1 15 0 1
2 10 4 1
5 43 8 1
添加一个新列频率,对于列中的每个值,我们将获取ID中具有相同值的所有行,并对cat值较小的行进行计数。如果需要按降序使用计数器,请使用: 但如果需要按
Id
使用计数值,则输出不同:
df['freq'] = df.groupby('Id')['Id'].transform('size')
与和的替代方案:
如果需要按降序排列的计数器,请使用: 但如果需要按
Id
使用计数值,则输出不同:
df['freq'] = df.groupby('Id')['Id'].transform('size')
与和的替代方案:
df['freq'] = df['Id'].map(df['Id'].value_counts())