日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

瀏覽:28日期:2022-08-04 13:48:54

pandas模塊為我們提供了非常多的描述性統(tǒng)計分析的指標函數(shù),如總和、均值、最小值、最大值等,我們來具體看看這些函數(shù):

1、隨機生成三組數(shù)據(jù)

import numpy as npimport pandas as pdnp.random.seed(1234)d1 = pd.Series(2*np.random.normal(size = 100)+3)d2 = np.random.f(2,4,size = 100)d3 = np.random.randint(1,100,size = 100)

2、統(tǒng)計分析用到的函數(shù)

d1.count() #非空元素計算d1.min() #最小值d1.max() #最大值d1.idxmin() #最小值的位置,類似于R中的which.min函數(shù)d1.idxmax() #最大值的位置,類似于R中的which.max函數(shù)d1.quantile(0.1) #10%分位數(shù)d1.sum() #求和d1.mean() #均值d1.median() #中位數(shù)d1.mode() #眾數(shù)d1.var() #方差d1.std() #標準差d1.mad() #平均絕對偏差d1.skew() #偏度d1.kurt() #峰度d1.describe() #一次性輸出多個描述性統(tǒng)計指標

必須注意的是,descirbe方法只能針對序列或數(shù)據(jù)框,一維數(shù)組是沒有這個方法的自定義一個函數(shù),將這些統(tǒng)計指標匯總在一起:

def status(x) : return pd.Series([x.count(),x.min(),x.idxmin(),x.quantile(.25),x.median(), x.quantile(.75),x.mean(),x.max(),x.idxmax(),x.mad(),x.var(), x.std(),x.skew(),x.kurt()],index=[’總數(shù)’,’最小值’,’最小值位置’,’25%分位數(shù)’, ’中位數(shù)’,’75%分位數(shù)’,’均值’,’最大值’,’最大值位數(shù)’,’平均絕對偏差’,’方差’,’標準差’,’偏度’,’峰度’])

執(zhí)行該函數(shù),查看一下d1數(shù)據(jù)集的這些統(tǒng)計函數(shù)值:

df = pd.DataFrame(status(d1))df

結果:

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

在實際的工作中,我們可能需要處理的是一系列的數(shù)值型數(shù)據(jù)框,如何將這個函數(shù)應用到數(shù)據(jù)框中的每一列呢?可以使用apply函數(shù),這個非常類似于R中的apply的應用方法。 將之前創(chuàng)建的d1,d2,d3數(shù)據(jù)構建數(shù)據(jù)框:

df = pd.DataFrame(np.array([d1,d2,d3]).T, columns=[’x1’,’x2’,’x3’])df.head()df.apply(status)

結果:

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

3、加載CSV數(shù)據(jù)

import numpy as npimport pandas as pdbank = pd.read_csv('D://bank/bank-additional-train.csv')bank.head() #查看前5行

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

描述性統(tǒng)計1:describe()

result = bank[’age’].describe()pd.DataFrame(result ) #格式化成DataFrame

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

描述性統(tǒng)計2:describe(include=[‘number’])

include中填寫的是數(shù)據(jù)類型,若想查看所有數(shù)據(jù)的統(tǒng)計數(shù)據(jù),則可填寫object,即include=[’object’];若想查看float類型的數(shù)據(jù),則為include=[’float’]。

result = bank.describe(include=[’object’])

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

含義:

count:指定字段的非空總數(shù)。unique:該字段中保存的值類型數(shù)量,比如性別列保存了男、女兩種值,則unique值則為2。top:數(shù)量最多的值。freq:數(shù)量最多的值的總數(shù)。bank.describe(include=[’number’])

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

連續(xù)變量的相關系數(shù)(corr)

bank.corr()

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

協(xié)方差矩陣(cov)

bank.cov()

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

刪除列

bank.drop(’job’, axis=1) #刪除年齡列,axis=1必不可少

排序

bank.sort_values(by=[’job’,’age’]) #根據(jù)工作、年齡升序排序bank.sort_values(by=[’job’,’age’], ascending=False) #根據(jù)工作、年齡降序排序

多表連接

準備數(shù)據(jù):

import numpy as npimport pandas as pdstudent = {’Name’:[’Bob’,’Alice’,’Carol’,’Henry’,’Judy’,’Robert’,’William’], ’Age’:[12,16,13,11,14,15,24], ’Sex’:[’M’,’F’,’M’,’M’,’F’,’M’,’F’]}score = {’Name’:[’Bob’,’Alice’,’Carol’,’Henry’,’William’], ’Score’:[75,35,87,86,57]}df_student = pd.DataFrame(student)df_studentdf_score = pd.DataFrame(score)df_score

student:

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

score:

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

內連接

stu_score1 = pd.merge(df_student, df_score, on=’Name’)stu_score1

注意,默認情況下,merge函數(shù)實現(xiàn)的是兩個表之間的內連接,即返回兩張表中共同部分的數(shù)據(jù)??梢酝ㄟ^how參數(shù)設置連接的方式,left為左連接;right為右連接;outer為外連接。

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

左連接

stu_score2 = pd.merge(df_student, df_score, on=’Name’,how=’left’)stu_score2

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

左連接中,沒有Score的學生Score為NaN

缺失值處理

現(xiàn)實生活中的數(shù)據(jù)是非常雜亂的,其中缺失值也是非常常見的,對于缺失值的存在可能會影響到后期的數(shù)據(jù)分析或挖掘工作,那么我們該如何處理這些缺失值呢?常用的有三大類方法,即刪除法、填補法和插值法。

刪除法

當數(shù)據(jù)中的某個變量大部分值都是缺失值,可以考慮刪除改變量;當缺失值是隨機分布的,且缺失的數(shù)量并不是很多是,也可以刪除這些缺失的觀測。

替補法

對于連續(xù)型變量,如果變量的分布近似或就是正態(tài)分布的話,可以用均值替代那些缺失值;如果變量是有偏的,可以使用中位數(shù)來代替那些缺失值;對于離散型變量,我們一般用眾數(shù)去替換那些存在缺失的觀測。

插補法

插補法是基于蒙特卡洛模擬法,結合線性模型、廣義線性模型、決策樹等方法計算出來的預測值替換缺失值。

此處測試使用上面學生成績數(shù)據(jù)進行處理

查詢某一字段數(shù)據(jù)為空的數(shù)量

sum(pd.isnull(stu_score2[’Score’]))結果:2

直接刪除缺失值

stu_score2.dropna()

刪除前:

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

刪除后:

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

默認情況下,dropna會刪除任何含有缺失值的行

刪除所有行為缺失值的數(shù)據(jù)

import numpy as npimport pandas as pddf = pd.DataFrame([[1,2,3],[3,4,np.nan], [12,23,43],[55,np.nan,10], [np.nan,np.nan,np.nan],[np.nan,1,2]], columns=[’a1’,’a2’,’a3’])

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

df.dropna() #該操作會刪除所有有缺失值的行數(shù)據(jù)

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

df.dropna(how=’all’) #該操作僅會刪除所有列均為缺失值的行數(shù)據(jù)

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

填充數(shù)據(jù)

使用一個常量來填補缺失值,可以使用fillna函數(shù)實現(xiàn)簡單的填補工作:

1、用0填補所有缺失值

df.fillna(0)

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

2、采用前項填充或后向填充

df.fillna(method=’ffill’) #用前一個值填充

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

df.fillna(method=’bfill’) #用后一個值填充

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

3、使用常量填充不同的列

df.fillna({’a1’:100,’a2’:200,’a3’:300})

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

4、用均值或中位數(shù)填充各自的列

a1_median = df[’a1’].median() #計算a1列的中位數(shù)a1_median=7.5a2_mean = df[’a2’].mean() #計算a2列的均值a2_mean = 7.5a3_mean = df[’a3’].mean() #計算a3列的均值a3_mean = 14.5df.fillna({’a1’:a1_median,’a2’:a2_mean,’a3’:a3_mean}) #填充值

基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析

很顯然,在使用填充法時,相對于常數(shù)填充或前項、后項填充,使用各列的眾數(shù)、均值或中位數(shù)填充要更加合理一點,這也是工作中常用的一個快捷手段。

數(shù)據(jù)打亂(shuffle)

實際工作中,經常會碰到多個DataFrame合并后希望將數(shù)據(jù)進行打亂。在pandas中有sample函數(shù)可以實現(xiàn)這個操作。

df = df.sample(frac=1)

這樣對可以對df進行shuffle。其中參數(shù)frac是要返回的比例,比如df中有10行數(shù)據(jù),我只想返回其中的30%,那么frac=0.3。有時候,我們可能需要打混后數(shù)據(jù)集的index(索引)還是按照正常的排序。我們只需要這樣操作

df = df.sample(frac=1).reset_index(drop=True)

以上這篇基于Python數(shù)據(jù)分析之pandas統(tǒng)計分析就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美激情亚洲| 99成人在线| 国产精品视频一区二区三区综合| 亚洲三级国产| 日韩国产精品久久久| 91午夜精品| 国产精品极品| 国产网站在线| 欧美成人基地 | 精品一二三区| 激情综合五月| 日韩成人亚洲| 亚洲精品成人| 亚洲专区一区| 日韩av不卡一区二区| 国产精品入口久久| 91麻豆国产自产在线观看亚洲| 精品三级久久| 国产亚洲精品久久久久婷婷瑜伽| 久热re这里精品视频在线6| 亚洲最大av| 国产精品视频一区二区三区综合 | 樱桃视频成人在线观看| 99热精品久久| 亚洲欧洲国产精品一区| 国产精品亚洲一区二区在线观看| 韩国一区二区三区视频| 欧美肉体xxxx裸体137大胆| 午夜在线视频观看日韩17c| 日韩av中文在线观看| 麻豆成人综合网| 1024精品一区二区三区| 日韩制服丝袜先锋影音| 国产欧美日韩精品一区二区三区| 91亚洲国产成人久久精品| 欧美va天堂| 日本成人精品| 日韩精品第一区| 蜜臀国产一区二区三区在线播放 | 日韩1区在线| 一区在线免费| 国产精品久久久免费| 成人一区不卡| 亚洲尤物在线| 精品一区二区三区免费看| 欧美中文一区二区| 日韩免费精品| 91精品xxx在线观看| 国产视频一区免费看| 国产九一精品| 国产99精品| 欧美日韩亚洲一区在线观看| 亚洲综合电影| 深夜福利亚洲| 久久久夜精品| 日本少妇一区二区| 久久青草久久| 日本不卡视频在线| 亚洲播播91| 日本在线不卡视频| 欧美日中文字幕| 国产精品一线| 免费久久99精品国产自在现线| 麻豆久久久久久| 亚洲免费观看| 精品久久久亚洲| 日产欧产美韩系列久久99| 日韩精品久久久久久久电影99爱| 欧美在线首页| 国产婷婷精品| 桃色一区二区| 国产精品美女午夜爽爽| 亚洲欧美日韩国产| 你懂的国产精品| 人人爽香蕉精品| 日韩成人三级| 国产精品久久久久久久久久白浆| 亚洲免费婷婷| 久久久久99| 精品一区二区三区中文字幕视频| 一区二区日韩免费看| 亚洲不卡系列| 久久成人av| 五月亚洲婷婷 | 国产精品115| 亚洲精品麻豆| 亚洲成人精选| 欧美日韩国产观看视频| 国产欧美日韩免费观看| 一本综合精品| 午夜国产精品视频| 91视频一区| 久久久精品国产**网站| 日韩欧美三区| 视频在线观看一区| 国产韩日影视精品| 久久麻豆精品| 美女av在线免费看| 国产伦精品一区二区三区视频 | а√天堂8资源在线| 国产精品免费不| 91亚洲精品在看在线观看高清| 美国欧美日韩国产在线播放| 亚洲二区在线| 免费一二一二在线视频| 久久亚洲黄色| 国产女人18毛片水真多18精品| 日本在线观看不卡视频| 中文无码日韩欧| 亚洲一区二区av| 91久久黄色| 在线午夜精品| 亚洲一区观看| 日韩精品一二区| 玖玖玖国产精品| 日韩视频中文| 巨乳诱惑日韩免费av| 蜜臀a∨国产成人精品| 五月天激情综合网| 欧美69视频| 欧美在线亚洲综合一区| 午夜久久tv| 亚洲综合欧美| 久久国产成人| 久久福利毛片| 老牛国产精品一区的观看方式| 伊人影院久久| 免费日韩av| 日韩精品一级中文字幕精品视频免费观看 | 亚洲韩日在线| 亚洲激情欧美| 亚洲精品看片| 日韩不卡一二三区| 日韩av三区| 国产日韩在线观看视频| 欧美中文一区| 另类综合日韩欧美亚洲| 久久精品国产亚洲aⅴ| 精品国产亚洲日本| 国产成人免费精品| 丝袜诱惑一区二区| 香蕉久久精品| 日韩精品一区第一页| 视频一区日韩| 麻豆精品蜜桃视频网站| 加勒比视频一区| 日韩免费看片| 国产精品毛片| 奇米亚洲欧美| 美女视频免费精品| 日韩大片在线| 亚洲一区观看| 欧美自拍一区| 超碰成人av| 亚洲激情二区| 久久狠狠久久| 蜜臀久久精品| 亚洲欧洲一区| 欧美在线精品一区| 精品国产欧美| 欧美在线资源| 日韩av一二三| 日韩大片免费观看| 国产亚洲精品v| 欧美三区不卡| 天堂√8在线中文| 免费视频最近日韩| 久久久国产精品网站| 久久久精品久久久久久96| 六月天综合网| 国产精品对白| 欧美肉体xxxx裸体137大胆| 亚洲精品一级二级三级| 精品三级在线| 久久香蕉精品| 成人免费一区| 国产一区导航| 精品视频网站| 久久高清国产| 精品视频一区二区三区四区五区 | 黄色日韩在线| 国产三级一区| 免费国产自久久久久三四区久久 | 美国欧美日韩国产在线播放| 精品视频在线观看网站| 日韩亚洲在线| 国产福利一区二区三区在线播放| 人人草在线视频| 日韩亚洲精品在线观看| 日本午夜大片a在线观看| 日韩视频一二区| 婷婷综合六月| 久久国产视频网| 九九综合九九| 欧美黑人做爰爽爽爽| 国产精品人人爽人人做我的可爱| 美女视频网站久久| 亚洲人成亚洲精品| 精精国产xxxx视频在线播放 | 少妇精品久久久一区二区|