我有以下输入数据:
df = pd.DataFrame({"ID" : [1, 1, 1, 2, 2, 2, 2],
"length" : [0.7, 0.7, 0.7, 0.8, 0.6, 0.6, 0.7],
"height" : [7, 9, np.nan, 4, 8, np.nan, 5]})
df
ID length height
0 1 0.7 7
1 1 0.7 9
2 1 0.7 np.nan
3 2 0.8 4
4 2 0.6 8
5 2 0.6 np.nan
6 2 0.7 5
我希望能够填充NaN,如果一组"ID"都具有相同的"长度",则填充该组"ID"中的最大"高度",否则填充该组中对应于最大长度的"高度"。
所需输出:
ID length height
0 1 0.7 7
1 1 0.7 9
2 1 0.7 9
3 2 0.8 4
4 2 0.6 8
5 2 0.6 4
6 2 0.7 5
- 谢谢-谢谢
1条答案
按热度按时间o8x7eapl1#
你可以尝试用
sort_value
然后我们用groupby
找到last