[英]How to count values in pandas group
Sorry for being so stupid... I am trying to aggregate and count data in a pandas dataframe 很抱歉这么愚蠢......我正在尝试聚合和计算熊猫数据框中的数据
m_supplier_name m_eshop_order_number
1 Axxxx 202-0147880-7096352
2 Bxxxx 304-3926447-6272314
3 Bxxxx 306-6312344-4699555
4 Cxxxx 305-0612485-9987518
5 Cxxxx 306-6591383-8935534
6 Cxxxx 261620209654-1987667522016
7 Bxxxx 306-3078039-1083529
8 Bxxxx 305-6383385-7949949
9 Dxxxx P1824098
… …
This is my pandas query: 这是我的熊猫查询:
print mdata.groupby(['m_supplier_name','m_order_number']).size()
this gives me: 这给了我:
m_supplier_name m_order_number
Axxxx 028-8286652-7920300 1
303-2594460-9759543 1
303-8120802-8687554 1
Bxxxx 302-0806465-2917902 1
Cxxxx 252589706005-2022820755015 1
302-1196139-4993924 1
303-5646700-0910740 1
304-1917413-4299541 1
305-6425830-6893162 1
306-6204117-1493102 1
Dxxxx 028-7321508-2210762 1
But I am actually looking for this per supplier. 但我实际上是在寻找每个供应商。
m_supplier_name m_order_number
Axxxx 028-8286652-7920300 3
303-2594460-9759543
303-8120802-8687554
Bxxxx 302-0806465-2917902 1
Cxxxx 252589706005-2022820755015 6
302-1196139-4993924
303-5646700-0910740
304-1917413-4299541
305-6425830-6893162
306-6204117-1493102
Dxxxx 028-7321508-2210762 1
The goal is to store the count of m_order_numbers in a new column per row in the orginal dataframe. 目标是将m_order_numbers的计数存储在原始数据帧中每行的新列中。
m_supplier_name m_eshop_order_number m_orders_per_supplier
1 Axxxx 202-0147880-7096352 1
2 Bxxxx 304-3926447-6272314 4
3 Bxxxx 306-6312344-4699555 4
4 Cxxxx 305-0612485-9987518 3
5 Cxxxx 306-6591383-8935534 3
6 Cxxxx 261620209654-1987667522016 3
7 Bxxxx 306-3078039-1083529 4
8 Bxxxx 305-6383385-7949949 4
9 Dxxxx P1824098 1
… …
You can use transform
: 你可以使用transform
:
mdata['m_orders_per_supplier'] = mdata.groupby('m_supplier_name')['m_supplier_name']
.transform('size')
print (mdata)
m_supplier_name m_eshop_order_number m_orders_per_supplier
1 Axxxx 202-0147880-7096352 1
2 Bxxxx 304-3926447-6272314 4
3 Bxxxx 306-6312344-4699555 4
4 Cxxxx 305-0612485-9987518 3
5 Cxxxx 306-6591383-8935534 3
6 Cxxxx 261620209654-1987667522016 3
7 Bxxxx 306-3078039-1083529 4
8 Bxxxx 305-6383385-7949949 4
9 Dxxxx P1824098 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.