Pandas 的 DataFrame.sort_index(~)
方法按列或索引標簽對源 DataFrame 進行排序。
參數
1.axis
| string
或 int
| optional
是否按索引或列標簽排序:
軸 |
說明 |
---|---|
|
DataFrame 將按索引標簽排序。 |
|
DataFrame 將按列標簽排序。 |
默認情況下,axis=0
。
2. level
| int
或 string
或 list<int>
或 list<string>
| optional
排序依據的級別。僅當您的 DataFrame 具有多索引時,這才有意義。
3. ascending
| boolean
或 list<boolean>
| optional
是否按升序或降序排序。默認情況下,ascending=True
。
4. inplace
| boolean
| optional
-
如果是
True
,那麽源DataFrame將被直接修改,並且不會創建新的DataFrame。 -
如果
False
,則將返回新的DataFrame,並且源DataFrame將保持不變。
默認情況下,inplace=False
。
5. kind
| string
| optional
使用的排序算法:
種類 |
速度 |
最壞的情況下 |
memory |
穩定的 |
---|---|---|---|---|
quicksort |
1(快) |
|
0 |
no |
mergesort |
2 |
|
~n/2 |
yes |
heapsort |
3(慢) |
|
0 |
no |
默認情況下,kind="quicksort"
。
注意
排序算法是"stable"保留重複值的相對順序。例如,假設您正在對數組進行排序[(2,3), (2,1), (4,5)]
由每個元組的第一個元素。我們這裏有一個重複值 2,穩定的排序算法確保(2,3)
總會先來的(2,1)
因為這就是它們最初的排序方式。不穩定的搜索不能保證保留此類順序。
6. na_position
| string
| optional
在哪裏放置 NaN
值:
值 |
說明 |
---|---|
|
將 |
|
將 |
默認情況下,na_position="last"
。
7. sort_remaining
| boolean
| optional
如果True
,那麽我們進一步按其他inner-levels的順序排序。這僅與 multi-level 索引相關。默認情況下,sort_remaining=True
。
8. ignore_index
| boolean
| optional
-
如果
True
,則排序後的 DataFrame 的索引將為0,1,...,n-1
,其中n
是 DataFrame 的行數。 -
如果
False
,則索引名稱將保持原樣。
默認情況下,ignore_index=False
。
返回值
A DataFrame
按列或索引標簽排序。
例子
考慮以下 DataFrame :
df = pd.DataFrame({"B":[1,2,3],"C":[4,5,6],"A":[7,8,9]}, index=[2,0,1])
df
B C A
2 1 4 7
0 2 5 8
1 3 6 9
按索引標簽排序
按索引標簽排序:
df.sort_index()
B C A
0 2 5 8
1 3 6 9
2 1 4 7
按列標簽排序
要按列標簽排序,請設置 axis=1
,如下所示:
df.sort_index(axis=1)
A B C
2 7 1 4
0 8 2 5
1 9 3 6
這是我們的df
,供您參考:
df
B C A
2 1 4 7
0 2 5 8
1 3 6 9
按降序排序
默認情況下,標簽按升序排序。要按降序排序,請設置 ascending=False
:
df.sort_index(ascending=False)
B C A
2 1 4 7
1 3 6 9
0 2 5 8
指定na_position
考慮以下 DataFrame :
df = pd.DataFrame({"A":[1,2,3]}, index=[2,1,np.NaN])
df
A
2.0 1
1.0 2
NaN 3
默認情況下, na_position="last"
,這意味著索引為 NaN
的行 ( axis=0
) 放置在末尾:
df.sort_index() # na_position="last"
A
1.0 2
2.0 1
NaN 3
要將索引為 NaN
的行放在開頭:
df.sort_index(na_position="first")
A
NaN 3
1.0 2
2.0 1
指定ignore_index
考慮以下 DataFrame :
df = pd.DataFrame({"A":[1,2,3]}, index=["b","a","c"])
df
A
b 1
a 2
c 3
默認情況下, ignore_index=False
,這意味著保留索引名稱:
df.sort_index()
A
a 2
b 1
c 3
通過設置 ignore_index=True
,索引名稱將重置為默認整數索引:
df.sort_index(ignore_index=True)
A
0 2
1 1
2 3
相關用法
- Python Pandas DataFrame sort_values方法用法及代碼示例
- Python PySpark DataFrame sort方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
- Python PySpark DataFrame sampleBy方法用法及代碼示例
- Python Pandas DataFrame set_axis方法用法及代碼示例
- Python Pandas DataFrame select_dtypes方法用法及代碼示例
- Python PySpark DataFrame selectExpr方法用法及代碼示例
- Python PySpark DataFrame show方法用法及代碼示例
- Python PySpark DataFrame select方法用法及代碼示例
- Python Pandas DataFrame stack方法用法及代碼示例
- Python Pandas DataFrame shift方法用法及代碼示例
- Python Pandas DataFrame size屬性用法及代碼示例
- Python Pandas DataFrame set_index方法用法及代碼示例
- Python Pandas DataFrame swapaxes方法用法及代碼示例
- Python PySpark DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame sub方法用法及代碼示例
- Python Pandas DataFrame sem方法用法及代碼示例
- Python Pandas DataFrame sum方法用法及代碼示例
- Python Pandas DataFrame std方法用法及代碼示例
- Python PySpark DataFrame summary方法用法及代碼示例
- Python Pandas DataFrame shape屬性用法及代碼示例
- Python Pandas DataFrame slice_shift方法用法及代碼示例
- Python Pandas DataFrame squeeze方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | sort_index method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。