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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。