對自己在數據處理中經常使用卻經常忘記的一些操作彙總。我用的多,大家應該用的也很多,有需要的可以轉載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=0, level=None, ascending=True, inplace=False, kind='quicksort',na_position='last', sort_remaining=True, by=None)
inplace:是否替換原數據
Series.
sort_index
(axis=0, level=None, ascending=True, inplace=False, kind='quicksort',na_position='last', sort_remaining=True)
DataFrame.
sort_values
(by, axis=0, ascending=True, inplace=False, kind='quicksort',na_position='last')
na_position:nan排序的位置
Series.
sort_values
(axis=0, ascending=True, inplace=False, kind='quicksort',na_position='last')
可以看到對Series的排序沒有by參數。
3.數據探索函數
3.1基本統計特徵函數
統計特徵函數用於計算數據的均值、方差、標準差、分位數、相關係數和協方差等,這些統計特徵能反映出數據的整體分佈。本小節介紹的統計特徵函數主要作爲Pandas的對象DataFrame或Series的方法出現。
sum():計算數據樣本的總和(按列計算)
mean():計算數據樣本的算術平均數
var():計算數據樣本的方差
std():計算數據樣本的標準差
corr(method):計算數據樣本的Spearman(Pearson)相關係數矩陣,method參數爲計算方法,pearson等。,、均爲Series,這種格式計算兩個Series之間的相關係數。
cov():計算數據樣本的協方差矩陣。,,均爲Series,這種格式計算兩個Series之間的協方差。
skew():樣本值的偏度(三階矩)。
kurt():樣本值的峯度(四階矩)。
describe():給出樣本的基本描述(基本統計量入均值、標準差等)。
SeriesGroupBy.
value_counts
(normalize=False, sort=True, ascending=False, bins=None,dropna=True):分組之後計數。
3.2拓展統計特徵函數
主要有累積計算(cum)和滾動計算(pd.rolling_),如下:
cumsum():依次給出前個數的和。
cumprod():依次給出前個數的積。
summax():依次給出前個數的最大值。
summin():依次給出前個數的最小值。
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):主成分分析