pandas-sort排序

Pands 提供了两种排序方法,分别是按标签排序和按数值排序。
创建数据
下面创建一组 DataFrame 数据,如下所示:

import pandas as pd
import numpy as np
#行标签乱序排列,列标签乱序排列
data = pd.DataFrame(np.random.randn(10,2),index=[1,6,4,2,3,5,9,8,0,7],columns=['A','B'])
print(data)

打印结果
pandas-sort排序_第1张图片

一、按标签排序

使用 sort_index() 方法对行标签排序,指定轴参数(axis)或者排序顺序。或者可以对 DataFrame 进行排序。
1、默认情况下,按照行标签序递增排序。

import pandas as pd
import numpy as np
#行标签乱序排列,列标签乱序排列
data = pd.DataFrame(np.random.randn(10,2),index=[1,6,4,2,3,5,9,8,0,7],columns=['a','b'])
sorted_data = data.sort_index()
print(sorted_data)

打印结果
pandas-sort排序_第2张图片
2、递减排序
通过将布尔值传递给ascending参数,可以控制排序的顺序。

import pandas as pd
import numpy as np
#行标签乱序排列,列标签乱序排列
data = pd.DataFrame(np.random.randn(10,2),index=[1,6,4,2,3,5,9,8,0,7],columns=['a','b'])
sorted_data = data.sort_index(ascending=False)
print(sorted_data)

打印结果
pandas-sort排序_第3张图片

二、按列标签排序

通过给 axis 轴参数传递 0 或 1,可以对列标签进行排序。默认情况下,axis=0 表示按行排序;而 axis=1 则表示按列排序。

import pandas as pd
import numpy as np
#行标签乱序排列,列标签乱序排列
data = pd.DataFrame(np.random.randn(10,2),index=[1,6,4,2,3,5,9,8,0,7],columns=['a','b'])
sorted_data = data.sort_index(axis=1)
print(sorted_data)

打印结果
pandas-sort排序_第4张图片

import pandas as pd
import numpy as np
#行标签乱序排列,列标签乱序排列
data = pd.DataFrame(np.random.randn(10,2),index=[1,6,4,2,3,5,9,8,0,7],columns=['a','b'])
sorted_data = data.sort_index(axis=0)
print(sorted_data)

打印结果
pandas-sort排序_第5张图片

三、按值排序

与标签排序类似,sort_values() 表示按值排序。它接受一个by参数,该参数值是要排序数列的 DataFrame 列名。
数据示例

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1],'b':[1,3,2,4]})
print (data)

打印结果
pandas-sort排序_第6张图片
按一个值排序

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1],'b':[1,3,2,4]})
sorted_data = data.sort_values(by='a')
print (sorted_data)

打印结果
pandas-sort排序_第7张图片
按两个值排序

import pandas as pd
data = pd.DataFrame({'a':[2,1,1,1],'b':[1,3,2,4]})
sorted_data = data.sort_values(by=['a','b'])
print (sorted_data)

打印结果
pandas-sort排序_第8张图片

你可能感兴趣的:(python数据分析,python,数据挖掘,数据分析)