我的数据框看起来像
c1 c2 c3
1 2 A
1 3 B
1 5 NA
1 7 D
2 0 E
2 1 NA
2 2 B
2 4 A
2 6 B
我想为每个ID的末尾填充空白。
c1 c2 c3
1 2 A
1 3 B
1 5 D
1 7 D
2 0 E
2 1 B
2 2 B
2 4 A
2 6 B
我尝试了
df.groupby(['c1']).apply(lambda x:
x['c3'].fillna(method='bfill')).reset_index()
但是它缺少列c2。如何获得所需的格式。
答案 0 :(得分:2)
只需将c3的值更改为填充的结果:
df['c3'] = df.groupby(['c1'])['c3'].bfill()
输出:
c1 c2 c3
0 1 2 A
1 1 3 B
2 1 5 D
3 1 7 D
4 2 0 E
5 2 1 B
6 2 2 B
7 2 4 A
8 2 6 B