【发布时间】:2018-06-04 02:20:48
【问题描述】:
在 Python Pandas 中,我有一个 DataFrame。我按一列对这个 DataFrame 进行分组,并希望将一列的最后一个值分配给另一列的所有行。
我知道我可以通过这个命令选择组的最后一行:
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)
结果:
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
如何将此操作的结果分配回原始数据帧,以便我有类似的东西:
a b b_new
0 1 20 21
1 1 21 21
2 2 30 30
3 3 40 41
4 3 41 41
【问题讨论】:
标签: python pandas dataframe group-by pandas-groupby