我试图了解DataFrame.sort在具有 NaN 值的列上的预期行为。
鉴于此数据框:
In [36]: df
Out[36]:
a b
0 1 9
1 2 NaN
2 NaN 5
3 1 2
4 6 5
5 8 4
6 4 5
正如预期的那样,使用一列进行排序将 NaN 放在最后:
In [37]: df.sort(columns="a")
Out[37]:
a b
0 1 9
3 1 2
1 2 NaN
6 4 5
4 6 5
5 8 4
2 NaN 5
但是嵌套排序的行为并不像我预期的那样,使 NaN 未排序:
In [38]: df.sort(columns=["a","b"])
Out[38]:
a b
3 1 2
0 1 9
1 2 NaN
2 NaN 5
6 4 5
4 6 5
5 8 4
有没有办法确保嵌套排序中的 NaN 将出现在每列的末尾?