pandas 在python中管理按另一列分组的count

5vf7fwbs  于 2023-04-18  发布在  Python
关注(0)|答案(1)|浏览(191)

我有一个数据集,我想看到Unique ID的数量转到另一个ID,并创建一个显示计数的新列。下面是一个示例。

ID     Reporting ID 
 101         103
 102         103
 103         107
 104         103 
 105         107 
 106         103 
 107         110
 108         103
 109         110 
 110

所需输出:

ID      Reporting ID     Reporting Count 
 101          103               0
 102          103               0
 103          107               5
 104          103               0
 105          107               0
 106          103               0
 107          110               2
 108          103               0
 109          110               0
 110                            2

我试过df['Reporting Count'] = df.groupby('Reporting ID')['ID'].nunique()

piok6c0g

piok6c0g1#

你很接近了,你需要将IDMap到count:

counts = df.groupby('Reporting ID')['ID'].nunique()
df['Reporting Count'] =  df.ID.map(counts).fillna(0).astype(int)

输出:

ID  Reporting ID  Reporting Count
0  101         103.0                0
1  102         103.0                0
2  103         107.0                5
3  104         103.0                0
4  105         107.0                0
5  106         103.0                0
6  107         110.0                2
7  108         103.0                0
8  109         110.0                0
9  110           NaN                2

相关问题