pandas: DataFrame在數據處理時一些常用的操作彙總

對自己在數據處理中經常使用卻經常忘記的一些操作彙總。我用的多,大家應該用的也很多,有需要的可以轉載follow。

1.dataframe數據篩選:loc,iloc,ix,at,iat

loc:需要用行列的標籤進行索引。

iloc:需要用行列索引進行索引。

ix:功能更強大一些,結合了以上兩種方法,既可以用標籤,又可以用索引。

at:根據指定行index及列label,快速定位DataFrame的元素,選擇列時僅支持列名。

iat:與at的功能相同,只使用索引參數。

2.pandas 排序sort_index,sort_values

series: 
一組數組(列表或元組),series除了一組數據外還包括一組索引(即只有行索引),索引可自行定義也可利用Series(),自動生成索引; 
dataframe: 
是表格型數據,既有行索引又有列索引,每列數據可以爲不同類型數據(數值、字符串、布爾型值),可利用DataFrame(其他數據,dataframe屬性)指定dataframe的屬性創建dataframe。

sort_index和sort_values 都可以對Series, dataframe,panel進行排序

DataFrame.sort_index(axis=0level=Noneascending=Trueinplace=Falsekind='quicksort',na_position='last'sort_remaining=Trueby=None)

inplace:是否替換原數據

Series.sort_index(axis=0level=Noneascending=Trueinplace=Falsekind='quicksort',na_position='last'sort_remaining=True)

DataFrame.sort_values(byaxis=0ascending=Trueinplace=Falsekind='quicksort',na_position='last')

na_position:nan排序的位置

Series.sort_values(axis=0ascending=Trueinplace=Falsekind='quicksort',na_position='last')

可以看到對Series的排序沒有by參數。

3.數據探索函數

3.1基本統計特徵函數

統計特徵函數用於計算數據的均值、方差、標準差、分位數、相關係數和協方差等,這些統計特徵能反映出數據的整體分佈。本小節介紹的統計特徵函數主要作爲Pandas的對象DataFrame或Series的方法出現。

sum():計算數據樣本的總和(按列計算)

mean():計算數據樣本的算術平均數

var():計算數據樣本的方差

std():計算數據樣本的標準差

corr(method):計算數據樣本的Spearman(Pearson)相關係數矩陣,method參數爲計算方法,pearson等。S_{1}.corr(S_{2}, method='pearson')S_{1}S_{2}均爲Series,這種格式計算兩個Series之間的相關係數。

cov():計算數據樣本的協方差矩陣。S_{1}.cov(S_{2}),S_{1},S_{2}均爲Series,這種格式計算兩個Series之間的協方差。

skew():樣本值的偏度(三階矩)。

kurt():樣本值的峯度(四階矩)。

describe():給出樣本的基本描述(基本統計量入均值、標準差等)。

SeriesGroupBy.value_counts(normalize=Falsesort=Trueascending=Falsebins=None,dropna=True):分組之後計數。

3.2拓展統計特徵函數

主要有累積計算(cum)和滾動計算(pd.rolling_),如下:

cumsum():依次給出前1...n個數的和。

cumprod():依次給出前1...n個數的積。

summax():依次給出前1...n個數的最大值。

summin():依次給出前1...n個數的最小值。

rolling_sum():計算數據樣本的總和(按列計算)

rolling_mean():數據樣本的算術平均數。

cum系列函數是作爲DataFrame或Series對象的方法而出現的,命令格式爲D.cumsum(),而rolling_系列是pandas的函數,格式爲pd.rolling_mean(D,k),意思是每k列計算依次均值,滾動計算。

3.3統計作圖函數

plot():繪製線性二維圖,折線圖。

使用格式:plt.plot(x,y,S),S爲繪製時圖形的類型、樣式和顏色。

D.plot(kind='box'),這裏使用的是Dataframe或Series對象內置的方法作圖,默認以index爲橫座標,每列數據爲縱座標自動作圖,通過kind參數指定作圖類型,支持line、bar、barh、hist、box、kde、area\pie(餅圖)等,同時也能接收plt.plot()中接收的參數。因此,如果數據已經被加載爲Pandas中的對象,那麼以這種方式作圖是比較簡潔的。

pie():繪製餅形圖。plt.pie(size)

hist():繪製二維條形直方圖,可以顯示數據的分配情形。plt.hist(x,y)

boxplot():繪製樣本數據的箱型圖。D.boxplot()/D.plot(kind='box')

plot(logy=True):繪製y軸的對數圖形

plot(yerr=error):繪製誤差條形圖

4.python主要的數據預處理函數

interpolate(Scipy):一維、高維數據插值 

unique(Pandas/Numpy):去除數據中重複的元素,得到單值元素列表,它是對象的方法名

isnull/notnull(Pandas):判斷是否空值和非空值

isna():Detect missing values (NaN in numeric arrays, None/NaN in object arrays)

PCA(Scikit-Learn):主成分分析

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章