python dataframe sort_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放在结尾。默认选项为最后。

你可能感兴趣的:(python,dataframe,sort)