pandas: DataFrame在数据处理时一些常用的操作汇总
對(duì)自己在數(shù)據(jù)處理中經(jīng)常使用卻經(jīng)常忘記的一些操作匯總。我用的多,大家應(yīng)該用的也很多,有需要的可以轉(zhuǎn)載follow。
1.dataframe數(shù)據(jù)篩選:loc,iloc,ix,at,iat
loc:需要用行列的標(biāo)簽進(jìn)行索引。
iloc:需要用行列索引進(jìn)行索引。
ix:功能更強(qiáng)大一些,結(jié)合了以上兩種方法,既可以用標(biāo)簽,又可以用索引。
at:根據(jù)指定行index及列l(wèi)abel,快速定位DataFrame的元素,選擇列時(shí)僅支持列名。
iat:與at的功能相同,只使用索引參數(shù)。
2.pandas 排序sort_index,sort_values
series:?
一組數(shù)組(列表或元組),series除了一組數(shù)據(jù)外還包括一組索引(即只有行索引),索引可自行定義也可利用Series(),自動(dòng)生成索引;?
dataframe:?
是表格型數(shù)據(jù),既有行索引又有列索引,每列數(shù)據(jù)可以為不同類(lèi)型數(shù)據(jù)(數(shù)值、字符串、布爾型值),可利用DataFrame(其他數(shù)據(jù),dataframe屬性)指定dataframe的屬性創(chuàng)建dataframe。
sort_index和sort_values 都可以對(duì)Series, dataframe,panel進(jìn)行排序
DataFrame.sort_index(axis=0,?level=None,?ascending=True,?inplace=False,?kind='quicksort',na_position='last',?sort_remaining=True,?by=None)
inplace:是否替換原數(shù)據(jù)
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')
可以看到對(duì)Series的排序沒(méi)有by參數(shù)。
3.數(shù)據(jù)探索函數(shù)
3.1基本統(tǒng)計(jì)特征函數(shù)
統(tǒng)計(jì)特征函數(shù)用于計(jì)算數(shù)據(jù)的均值、方差、標(biāo)準(zhǔn)差、分位數(shù)、相關(guān)系數(shù)和協(xié)方差等,這些統(tǒng)計(jì)特征能反映出數(shù)據(jù)的整體分布。本小節(jié)介紹的統(tǒng)計(jì)特征函數(shù)主要作為Pandas的對(duì)象DataFrame或Series的方法出現(xiàn)。
sum():計(jì)算數(shù)據(jù)樣本的總和(按列計(jì)算)
mean():計(jì)算數(shù)據(jù)樣本的算術(shù)平均數(shù)
var():計(jì)算數(shù)據(jù)樣本的方差
std():計(jì)算數(shù)據(jù)樣本的標(biāo)準(zhǔn)差
corr(method):計(jì)算數(shù)據(jù)樣本的Spearman(Pearson)相關(guān)系數(shù)矩陣,method參數(shù)為計(jì)算方法,pearson等。,、均為Series,這種格式計(jì)算兩個(gè)Series之間的相關(guān)系數(shù)。
cov():計(jì)算數(shù)據(jù)樣本的協(xié)方差矩陣。,,均為Series,這種格式計(jì)算兩個(gè)Series之間的協(xié)方差。
skew():樣本值的偏度(三階矩)。
kurt():樣本值的峰度(四階矩)。
describe():給出樣本的基本描述(基本統(tǒng)計(jì)量入均值、標(biāo)準(zhǔn)差等)。
SeriesGroupBy.value_counts(normalize=False,?sort=True,?ascending=False,?bins=None,dropna=True):分組之后計(jì)數(shù)。
3.2拓展統(tǒng)計(jì)特征函數(shù)
主要有累積計(jì)算(cum)和滾動(dòng)計(jì)算(pd.rolling_),如下:
cumsum():依次給出前個(gè)數(shù)的和。
cumprod():依次給出前個(gè)數(shù)的積。
summax():依次給出前個(gè)數(shù)的最大值。
summin():依次給出前個(gè)數(shù)的最小值。
rolling_sum():計(jì)算數(shù)據(jù)樣本的總和(按列計(jì)算)
rolling_mean():數(shù)據(jù)樣本的算術(shù)平均數(shù)。
cum系列函數(shù)是作為DataFrame或Series對(duì)象的方法而出現(xiàn)的,命令格式為D.cumsum(),而rolling_系列是pandas的函數(shù),格式為pd.rolling_mean(D,k),意思是每k列計(jì)算依次均值,滾動(dòng)計(jì)算。
3.3統(tǒng)計(jì)作圖函數(shù)
plot():繪制線(xiàn)性二維圖,折線(xiàn)圖。
使用格式:plt.plot(x,y,S),S為繪制時(shí)圖形的類(lèi)型、樣式和顏色。
D.plot(kind='box'),這里使用的是Dataframe或Series對(duì)象內(nèi)置的方法作圖,默認(rèn)以index為橫坐標(biāo),每列數(shù)據(jù)為縱坐標(biāo)自動(dòng)作圖,通過(guò)kind參數(shù)指定作圖類(lèi)型,支持line、bar、barh、hist、box、kde、area\pie(餅圖)等,同時(shí)也能接收plt.plot()中接收的參數(shù)。因此,如果數(shù)據(jù)已經(jīng)被加載為Pandas中的對(duì)象,那么以這種方式作圖是比較簡(jiǎn)潔的。
pie():繪制餅形圖。plt.pie(size)
hist():繪制二維條形直方圖,可以顯示數(shù)據(jù)的分配情形。plt.hist(x,y)
boxplot():繪制樣本數(shù)據(jù)的箱型圖。D.boxplot()/D.plot(kind='box')
plot(logy=True):繪制y軸的對(duì)數(shù)圖形
plot(yerr=error):繪制誤差條形圖
4.python主要的數(shù)據(jù)預(yù)處理函數(shù)
interpolate(Scipy):一維、高維數(shù)據(jù)插值?
unique(Pandas/Numpy):去除數(shù)據(jù)中重復(fù)的元素,得到單值元素列表,它是對(duì)象的方法名
isnull/notnull(Pandas):判斷是否空值和非空值
isna():Detect missing values (NaN in numeric arrays, None/NaN in object arrays)
PCA(Scikit-Learn):主成分分析
?
總結(jié)
以上是生活随笔為你收集整理的pandas: DataFrame在数据处理时一些常用的操作汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据分析:度量数据散布的四分位数
- 下一篇: dataframe进行groupby后画