个性化阅读
专注于IT技术分析

Pandas DataFrame.sort()使用介绍

本文概述

我们可以通过以下几种有效地在DataFrame中执行排序:

  • 按标签
  • 按实际值

在解释这两种排序之前, 首先我们必须将数据集用于演示:

import pandas as pd
import numpy as np

info=pd.DataFrame(np.random.randn(10, 2), index=[1, 3, 7, 2, 4, 5, 9, 8, 0, 6], columns=['col2', 'col1'])
print(info)

输出

col2          col1
1      -0.456763     -0.931156
3       0.242766     -0.793590
7       1.133803      0.454363
2      -0.843520     -0.938268
4      -0.018571     -0.315972
5      -1.951544     -1.300100
9      -0.711499      0.031491
8       1.648080      0.695637
0       2.576250     -0.625171
6      -0.301717      0.879970

在上面的DataFrame中, 标签和值未排序。因此, 让我们看看如何对其进行排序:

  • 按标签

可以使用sort_index()方法对DataFrame进行排序。可以通过传递轴参数和排序顺序来完成。默认情况下, 按升序对行标签进行排序。

例子

import pandas as pd
import numpy as np
info=pd.DataFrame(np.random.randn(10, 2), index=[1, 2, 5, 4, 8, 7, 9, 3, 0, 6], columns = ['col4', 'col3'])
info2=info.sort_index()
print(info2)

输出

col4          col3
0     0.698346      1.897573
1     1.247655     -1.208908
2    -0.469820     -0.546918
3    -0.793445      0.362020
4    -1.184855     -1.596489
5     1.500156      -0.397635
6    -1.239635      -0.255545
7     1.110986      -0.681728
8    -1.797474       0.108840
9     0.063048       1.512421
  • 排序顺序

可以通过将布尔值传递给升序参数来控制排序顺序。

例:

import pandas as pd
import numpy as np
info= pd.DataFrame(np.random.randn(10, 2), index=[1, 4, 7, 2, 5, 3, 0, 8, 9, 6], columns = ['col4', 'col5'])

info_2 = info.sort_index(ascending=False)
print(info)

输出

col4          col5
1      0.664336     -1.846533
4     -0.456203     -1.255311
7      0.537063     -0.774384
2     -1.937455      0.257315
5      0.331764     -0.741020
3     -0.082334      0.304390
0     -0.983810     -0.711582
8      0.208479     -1.234640
9      0.656063      0.122720
6      0.347990     -0.410401
  • 排序列:

我们可以通过将轴参数传递给其值0或1来对列标签进行排序。默认情况下, 轴= 0, 它按行排序。

例:

import pandas as pd
import numpy as np
 
info = pd.DataFrame(np.random.randn(10, 2), index=[1, 4, 8, 2, 0, 6, 7, 5, 3, 9], columns = ['col4', 'col7'])
info_2=info.sort_index(axis=1)
print(info_2)

输出

col4          col7
1    -0.509367     -1.609514
4    -0.516731      0.397375
8    -0.201157     -0.009864
2     1.440567       1.058436
0     0.955486      -0.009777
6    -1.211133       0.415147
7     0.095644       0.531727
5    -0.881241      -0.871342
3     0.206327       -1.154724
9     1.418127        0.146788

按实际值

这是另一种可以在DataFrame中执行排序的方法。与索引排序类似, sort_values()是一种用于按值排序的方法。

它还提供了一项功能, 我们可以在其中指定要对值进行排序的DataFrame的列名。通过传递” by”参数来完成。

例:

import pandas as pd
import numpy as np
info = pd.DataFrame({'col1':[7, 1, 8, 3], 'col2':[8, 12, 4, 9]})
info_2 = info.sort_values(by='col2')
print(info_2)

输出

col1    col2
2     8       4
0     7       8
3     3       9
1     1       12

在上面的输出中, 观察到这些值仅在col2中排序, 并且相应的col1值和行索引将与col2一起更改。因此, 它们看起来没有分类。

参数

  • 列:排序之前, 你必须传递一个对象或列名。
  • 升序:传递一个布尔值, 该值负责按升序排序。其默认值为True。
  • 轴:0或索引; 1或”列”。默认值为0。它决定是按索引还是按列排序。
  • inplace:传递布尔值。默认值为false。它将修改此对象的任何其他视图, 并且在对DataFrame进行排序时不会创建新实例。
  • 种类:”堆排序”, “合并排序”, “快速排序”。它是一个可选参数, 仅在对单个列或标签进行排序时才应用。
  • na_position:”第一”, “最后”。 “第一个”将NaN放在开头, 而”最后一个”将NaN放在结尾。默认选项为最后。

赞(0) 打赏
未经允许不得转载:srcmini » Pandas DataFrame.sort()使用介绍
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏