Python:将列添加到包含每个组大小的groupby结果
我将一个数据帧分组以获得以下结果:Python:将列添加到包含每个组大小的groupby结果,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我将一个数据帧分组以获得以下结果: +------+----+-------+ | Type | Nr | Class | +------+----+-------+ | One | 01 | A1 | | One | 01 | A2 | | One | 01 | B1 | | One | 02 | A1 | | One | 02 | B1 | | Two | 01 | A1 | | Two | 01 | B1 | | Two | 01
+------+----+-------+
| Type | Nr | Class |
+------+----+-------+
| One | 01 | A1 |
| One | 01 | A2 |
| One | 01 | B1 |
| One | 02 | A1 |
| One | 02 | B1 |
| Two | 01 | A1 |
| Two | 01 | B1 |
| Two | 01 | B2 |
| Two | 02 | A1 |
+------+----+-------+
我做了以下操作来计算每种类型的唯一Nr
值的数量:
DFGroup = df.groupby('Type')['Nr'].nunique().reset_index()
这很好:
+------+----+
| Type | Nr |
+------+----+
| One | 2 |
| Two | 2 |
+------+----+
但现在我想在DFGroup
中添加另一列,其中包含每个组的大小,如下所示:
+------+----+-------+
| Type | Nr | Count |
+------+----+-------+
| One | 2 | 5 |
| Two | 2 | 4 |
+------+----+-------+
我试过:
DFGroup['Count'] = df.groupby('Type').size()
这只为每组提供了NAN
谢谢:)使用:
两种功能都能更好地使用:
DFGroup = df.groupby('Type')['Nr'].agg([('Nr', 'nunique'),('Count','size')]).reset_index()
print (DFGroup)
Type Nr Count
0 One 2 5
1 Two 2 4
DFGroup = df.groupby('Type')['Nr'].agg([('Nr', 'nunique'),('Count','size')]).reset_index()
print (DFGroup)
Type Nr Count
0 One 2 5
1 Two 2 4