約定:
import pandas as pd
import numpy as np12
排序和排名
根據條件對series物件或dataframe物件的值排序(sorting)和排名(ranking)是一種重要的內建運算。
接下來為大家介紹如何使用pandas物件的:sort_index() / sort_values() / rank() 方法。
一、對series排序
對series物件排序是最常用的,可以根據series物件的索引、值排序。
根據索引排序
se1=pd.series(np.arange(10,13),index=[1,3,2])
se1.sort_index()12
**結果:
1 10
2 12
3 11
dtype: int3212
34還能對字元索引排序
se2=pd.series(np.arange(0,3),index=['c','d','a'])
se2.sort_index()12
**結果:
a 2
c 0
d 1
dtype: int32
按降序排序
se2.sort_index(ascending=false)
1**結果:
d 1
c 0
a 2
dtype: int32
按值排序
se3=pd.series([3,-5,7])
se3.sort_values()
**結果:
1 -5
0 3
2 7
dtype: int64
nan值會放在series末尾
se4=pd.series([3,np.nan,-7,np.nan,5])
se4.sort_values()
**結果:
2 -7.0
0 3.0
4 5.0
1 nan
3 nan
dtype: float64
二、對dataframe排序
通過axis引數可以對任意軸排序
df1=pd.dataframe(np.arange(9).reshape(3,3),index=list("bac"),columns=list("yzx"))
df11
2**結果:
y z x
b 0 1 2
a 3 4 5
c 6 7 8
df1.sort_index()
1**結果:
y z x
a 3 4 5
b 0 1 2
c 6 7 8
df1.sort_index(axis=1)
1**結果:
x y z
b 2 0 1
a 5 3 4
c 8 6 7
根據乙個列的值來排序
df2=pd.dataframe()
df2.sort_values(by='b')12
**結果:
a b
1 3 -6
0 20 1
2 3 18
對多個列來排序
df2.sort_values(by=['a','b'])
1**結果:
a b
1 3 -6
2 3 18
0 20 1
三、排名
排名是根據series物件或dataframe的某幾列的值進行排名,.rank(method=,ascending=,…)返回對值的排名。但需要十分注意如何處理出現相同的值。
平均排名
為相同的值分配乙個平均排名
se5=pd.series([2,3,7,5,3,7])
se5.rank()12
**結果:
0 1.0
1 2.5
2 5.5
3 4.0
4 2.5
5 5.5
dtype: float64
順序排名
對於相同的值按照出現的順序排名
se5.rank(method="first")
1**結果:
0 1.0
1 2.0
2 5.0
3 4.0
4 3.0
5 6.0
dtype: float64
最小值排名
對於相同的值都取小的排名
se5.rank(method="min",ascending=false)
1**結果:
0 6.0
1 4.0
2 1.0
3 3.0
4 4.0
5 1.0
dtype: float64
最大值排名
對於相同的值都取大的排名
se5.rank(method="max",ascending=false)
1**結果:
0 6.0
1 5.0
2 2.0
3 3.0
4 5.0
5 2.0
dtype: float64
降序排名
se5.rank(method="first",ascending=false)
1**結果:
0 6.0
1 4.0
2 1.0
3 3.0
4 5.0
5 2.0
dtype: float64
Pandas詳解四之MultiIndex物件
約定import pandas as pd from pandas import dataframe import numpy as npmultiindex表示多級索引,它是從index繼承過來的,其中多級標籤用元組物件來表示。m index1 pd.index a x1 a x2 b y1 b ...
詳解Python學習之安裝pandas
一 python pip的安裝與使用 1 pip 是 python 包管理工具,該工具提供了對python 包的查詢 安裝 解除安裝的功能。目前如果你在 python.org 最新版本的安裝包,則是已經自帶了該工具。python 2.7.9 或 python 3.4 以上版本都自帶 pip 工具。p...
Pandas詳解十之Dropna濾除缺失資料
約定 import pandas as pd import numpy as np from numpy import nan as nanpandas的設計目標之一就是使得處理缺失資料的任務更加輕鬆些。pandas使用nan作為缺失資料的標記。使用dropna使得濾除缺失資料更加得心應手。se1 ...