2014-04-11 25 views
5

Tôi có dataframe sau:DataFrame: thêm cột với kích thước của một nhóm

fsq digits digits_type 
0 1 1  odd 
1 2 1  odd 
2 3 1  odd 
3 11 2  even 
4 22 2  even 
5 101 3  odd 
6 111 3  odd 

và tôi muốn thêm một cột cuối cùng, đếm chứa số lượng FSQ thuộc chữ số nhóm, ví dụ:

fsq digits digits_type count 
0 1 1  odd   3 
1 2 1  odd   3 
2 3 1  odd   3 
3 11 2  even   2 
4 22 2  even   2 
5 101 3  odd   2 
6 111 3  odd   2 

Vì có 3 FSQ hàng có Digi ts bằng 1, 2 FSQ hàng có chữ số bằng 2, vv

Cảm ơn bạn

Trả lời

11
In [395]: df['count'] = df.groupby('digits')['fsq'].transform(len) 

In [396]: df 
Out[396]: 
    fsq digits digits_type count 
0 1  1   odd  3 
1 2  1   odd  3 
2 3  1   odd  3 
3 11  2  even  2 
4 22  2  even  2 
5 101  3   odd  2 
6 111  3   odd  2 

[7 rows x 4 columns] 
+0

'lambda x: len (x) 'có thể được đơn giản hóa cho' len' .. – DSM

+0

câu hỏi nhỏ: làm thế nào để bạn dán đầu vào/đầu ra iPython vào định dạng mã Stackoverflow? – luffe

+0

Cảm ơn DSM. Tôi vừa sao chép từ thiết bị đầu cuối, dán vào đây. Sau đó chọn văn bản và nhấn CTRL-k để định dạng văn bản dưới dạng mã. – TomAugspurger

Các vấn đề liên quan