,这是相似的,如果列[‘three’]不完全是nan,那么从列中的值为一行类似键的现有值’3′]
这是我的愿望结果
one | two | three
1 1 10
1 1 10
1 1 10
1 2...我尝试过使用groupby fillna()
df[‘three’] = df.groupby([‘one’,’two’])[‘three’].fillna()
这给了我一个错误....我尝试了向前填充,这给了我相当奇怪的结果,它向前填充第2列.我正在使用此代码进行前向填充.
df[‘three’] = df.groupby([‘one’,’two’], sort=False)[‘three...解决方法:
如果每组只有一个非NaN值,则每组使用ffill(向前填充)和bfill(向后填充),因此需要使用lambda:
df[‘three’] = df.groupby([‘one’,’two’]...three
0 1 1 10.0
1 1 1 40.0
2 1 1 25.0
3 1 2 20.0
4 1 2 20.0
5 1 2 20.0
6 1 3 NaN
7 1 3 NaN
标签:python,pandas