5
Mục tiêu của tôi là đơn giản nhưng không chắc chắn nếu nó có thể. Ví dụ tái sản xuất:Pandas: Groupby để tạo bảng với số lượng và giá trị đếm
Bạn có thể đi từ này:
raw_data = {'score': [1, 3, 4, 4, 1, 2, 2, 4, 4, 2],
'player': ['Miller', 'Jacobson', 'Ali', 'George', 'Cooze', 'Wilkinson', 'Lewis', 'Lewis', 'Lewis', 'Jacobson']}
df = pd.DataFrame(raw_data, columns = ['score', 'player'])
df
score player
0 1 Miller
1 3 Jacobson
2 4 Ali
3 4 George
4 1 Cooze
5 2 Wilkinson
6 2 Lewis
7 4 Lewis
8 4 Lewis
9 2 Jacobson
Để này:
score col_1 col_2 col_3 col_4
score
1 2 Miller Cooze n/a n/a
2 3 Wilkinson Lewis Jacobson n/a
3 1 Jacobson n/a n/a n/a
4 4 Ali George Lewis Lewis
Qua một groupby
?
Tôi có thể nhận được điều này đến nay df.groupby(['score']).agg({'score': np.size})
nhưng không thể tìm ra cách tạo cột mới với các giá trị cột.
@MaxU tôi sử dụng 'pop'! Tôi rất tự hào về bản thân mình :-) – piRSquared
Cả hai đều tuyệt đẹp. Tôi không nhận được đầu ra chính xác cho tùy chọn 2 (có thể vì tôi đang sử dụng Python 3?). Tuy nhiên, tùy chọn 1 là hoàn hảo. – RDJ