Trong Python Pandas, tôi có một DataFrame. Tôi nhóm DataFrame này theo một cột và muốn gán giá trị cuối cùng của một cột cho tất cả các hàng của một cột khác.Python Pandas: Gán giá trị cuối cùng của nhóm DataFrame cho tất cả các mục của nhóm đó
Tôi biết rằng tôi có thể chọn hàng cuối cùng của nhóm bằng lệnh này:
import pandas as pd
df = pd.DataFrame({'a': (1,1,2,3,3), 'b':(20,21,30,40,41)})
print(df)
print("-")
result = df.groupby('a').nth(-1)
print(result)
Kết quả:
a b
0 1 20
1 1 21
2 2 30
3 3 40
4 3 41
-
b
a
1 21
2 30
3 41
Làm thế nào nó sẽ có thể gán kết quả của hoạt động này quay lại dataframe ban đầu để tôi có một cái gì đó như:
a b b_new
0 1 20 21
1 1 21 21
2 2 30 30
3 3 40 41
4 3 41 41