我們接續上次排序的內容,在預設情況下,所有缺失值都會排在 Series 的結尾:
In [244]: obj = pd.Series([4, np.nan, 7, np.nan, -3, 2])
In [245]: obj.sort_values()
Out[245]:
4 -3.0
5 2.0
0 4.0
2 7.0
1 NaN
3 NaN
dtype: float64
使用 na_postition
選項可以將缺失值排在開頭:
In [246]: obj.sort_values(na_position="first")
Out[246]:
1 NaN
3 NaN
4 -3.0
5 2.0
0 4.0
2 7.0
dtype: float64
在排序 DataFrame 時,可以根據一欄或多欄的資料來進行排序,作法將一個或多個欄名傳給 sort_value()
:
In [247]: frame = pd.DataFrame({"b": [4, 7, -3, 2], "a": [0, 1, 0, 1]})
In [248]:
b a
0 4 0
1 7 1
2 -3 0
3 2 1
In [249]: frame.sort_values("b")
Out[249]:
b a
2 -3 0
3 2 1
0 4 0
1 7 1
若使用多欄來排序,則需傳入一個名稱串列:
In [250]: frame.sort_values(["a", "b"])
Out[250]:
b a
2 -3 0
3 2 1
0 4 0
1 7 1
今日的分享就到這囉,我們明天見,掰掰!