導航:首頁 > 編程語言 > Python數據進行統計

Python數據進行統計

發布時間:2023-01-06 19:40:20

python之pandas數據整理及分組統計

對數據進行整理以及分組統計

一、數據整理

1、行、列的插入與刪除

2、索引整理

3、重復值處理

4、排序,排名

5、數據框連接

6、數據分段

pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)

x:需要切分的數據

bins:切分區域

right : 是否包含右端點默認True,包含

labels:對應標簽,用標記來代替返回的bins,若不在該序列中,則返回NaN

retbins:是否返回間距bins

precision:精度

include_lowest:是否包含左端點,默認False,不包含

7、多級索引

8、字元串處理

類似於Python

二、分組統計

Ⅱ Python 數據可視化:分類特徵統計圖

上一課已經體驗到了 Seaborn 相對 Matplotlib 的優勢,本課將要介紹的是 Seaborn 對分類數據的統計,也是它的長項。

針對分類數據的統計圖,可以使用 sns.catplot 繪制,其完整參數如下:

本課使用演繹的方式來學習,首先理解這個函數的基本使用方法,重點是常用參數的含義。

其他的參數,根據名稱也能基本理解。

下面就依據 kind 參數的不同取值,分門別類地介紹各種不同類型的分類統計圖。

讀入數據集:

然後用這個數據集制圖,看看效果:

輸出結果:

毫無疑問,這里繪制的是散點圖。但是,該散點圖的橫坐標是分類特徵 time 中的三個值,並且用 hue='kind' 又將分類特徵插入到圖像中,即用不同顏色的的點代表又一個分類特徵 kind 的值,最終得到這些類別組合下每個記錄中的 pulse 特徵值,並以上述圖示表示出來。也可以理解為,x='time', hue='kind' 引入了圖中的兩個特徵維度。

語句 ① 中,就沒有特別聲明參數 kind 的值,此時是使用默認值 'strip'。

與 ① 等效的還有另外一個對應函數 sns.stripplot。

輸出結果:

② 與 ① 的效果一樣。

不過,在 sns.catplot 中的兩個參數 row、col,在類似 sns.stripplot 這樣的專有函數中是沒有的。因此,下面的圖,只有用 sns.catplot 才能簡潔直觀。

輸出結果:

不過,如果換一個叫角度來說,類似 sns.stripplot 這樣的專有函數,表達簡單,參數與 sns.catplot 相比,有所精簡,使用起來更方便。

仔細比較,sns.catplot 和 sns.stripplot 兩者還是稍有區別的,雖然在一般情況下兩者是通用的。

因此,不要追求某一個是萬能的,各有各的用途,存在即合理。

不過,下面的聲明請注意: 如果沒有非常的必要,比如繪制分區圖,在本課中後續都演示如何使用專有名稱的函數。

前面已經初步解釋了這個函數,為了格式完整,這里再重復一下,即 sns.catplot 中參數 kind='strip'。

如果非要將此函數翻譯為漢語,可以稱之為「條狀散點圖」。以分類特徵為一坐標軸,在另外一個坐標軸上,根據分類特徵,將該分類特徵數據所在記錄中的連續值沿坐標軸描點。

從語句 ② 的結果圖中可以看到,這些點雖然縱軸的數值有相同的,但是沒有將它們重疊。因此,我們看到的好像是「一束」散點,實際上,所有點的橫坐標都應該是相應特徵分類數據,也不要把分類特徵的值理解為一個范圍,分散開僅僅是為了圖示的視覺需要。

輸出結果:

④ 相對 ② 的圖示,在於此時同一縱軸值的都重合了——本來它們的橫軸值都是一樣的。實現此效果的參數是 jitter=0,它可以表示點的「振動」,如果默認或者 jitter=True,意味著允許描點在某個范圍振動——語句 ② 的效果;還可設置為某個 0 到 1 的浮點,表示許可振動的幅度。請對比下面的操作。

輸出結果:

語句 ② 中使用 hue='kind' 參數向圖中提供了另外一個分類特徵,但是,如果感覺圖有點亂,還可以這樣做:

輸出結果:

dodge=True 的作用就在於將 hue='kind' 所引入的特徵數據分開,相對 ② 的效果有很大差異。

並且,在 ⑤ 中還使用了 paletter='Set2' 設置了色彩方案。

sns.stripplot 函數中的其他有關參數,請讀者使用幫助文檔了解。

此函數即 sns.catplot 的參數 kind='swarm'。

輸出結果:

再繪制一張簡單的圖,一遍研究這種圖示的本質。

輸出結果:

此圖只使用了一個特徵的數據,簡化表象,才能探究 sns.swarmplot 的本質。它同樣是將該特徵中的數據,依據其他特徵的連續值在圖中描點,並且所有點在默認情況下不彼此重疊——這方面與 sns.stripplot 一樣。但是,與之不同的是,這些點不是隨機分布的,它們經過調整之後,均勻對稱分布在分類特徵數值所在直線的兩側,這樣能很好地表示數據的分布特點。但是,這種方式不適合「大數據」。

sns.swarmplot 的參數似乎也沒有什麼太特殊的。下面使用幾個,熟悉一番基本操作。

在分類維度上還可以再引入一個維度,用不同顏色的點表示另外一種類別,即使用 hue 參數來實現。

輸出結果:

這里用 hue = 'smoker' 參數又引入了一個分類特徵,在圖中用不同顏色來區分。

如果覺得會 smoker 特徵的值都混在一起有點亂,還可以使用下面方式把他們分開——老調重彈。

輸出結果:

生成此效果的參數就是 dodge=True,它的作用就是當 hue 參數設置了特徵之後,將 hue 的特徵數據進行分類。

sns.catplot 函數的參數 kind 可以有三個值,都是用於繪制分類的分布圖:

下面依次對這三個專有函數進行闡述。

Ⅲ Python數據統計導出excel

一、數據查詢方法(此項可根據實際業務需求更改)

二、數據生成excel

三、發送郵件方法介紹

導出excel如遇到下圖報錯:
1.排查編碼 #coding:utf-8 sys.setdefaultencoding('utf8') 等
2.寫入第一行數據的中文字元,或者字元串需要有引號,忽略會報錯。

Ⅳ Python如何統計一行數據同時滿足A和B的次數

可以用pandas
也可以直接用csv庫讀入然後for循環計算

Ⅳ Python數據處理:篩選、統計、連表、拼接、拆分、缺失值處理

file1_path ='E:/Users/lenovo/Desktop/中視/622召回.csv' # 源數據

格式:file1=pd.read_csv(file1_path)

pd.read_csv(file1_path,encoding='gbk')

pd.read_csv(file1_path,encoding='gbk',skiprows=[2,3])

pd.read_csv(file1_path,encoding='gbk',skiprows=lambda x:x%2==1)

pd.read_csv(file1_path,encoding='gbk',keep_default_na=False)

new=pd.DataFrame()

new.new[[0,1,2]]

new.new[0:2]

查詢結果同上

new.loc[new['激活數']>1000]

loc和iloc的區別:

     loc:純標簽篩選

     iloc:純數字篩選

#篩選出new的某兩列

new=new.loc[:,['phone','收件人姓名']]

#篩選new的第0,1列

new.iloc[:,[0,1]]

使用『==』篩選-篩查「崔旭」的人(只能篩查指定明確的)

#new=file1.loc[(file1['收件人姓名']=='崔旭')|(file1['收件人姓名']=='崔霞')]

#print(new)

#使用loc函數篩選-str.contains函數-篩查名字中包含'亮'和'海'的人

#new=file1.loc[file1['收件人姓名'].str.contains('亮|海')]

#print(new)

#使用loc函數篩選-str.contains函數-篩查'崔'姓的人

#new=file1.loc[file1['收件人姓名'].str.startswitch('崔')]

#print(new)

df = df[(df['DEPOSIT_PAY_TIME_x'] .notnull() ) & (df['DEPOSIT_PAY_TIME_x'] != "" )]

print("ring_time(number)=0的個數:",newdata[newdata['ring_time(number)'] ==0].count()['ring_time(number)'])

print("ring_time(number)=1,2,3的個數:",newdata[(newdata['ring_time(number)'] >0) & (newdata['ring_time(number)'] <4)].count()['ring_time(number)'])

print(newdata[newdata['ring_time(number)'] ==0])

newdata[newdata['Team']. isin (['England','Italy','Russia'])][['Team','Shooting Accuracy']]

df.年齡.value_counts()

1.修改指定位置數據的值(修改第0行,』創建訂單數『列的值為3836)

new.loc[0,'創建訂單數']=3836

2.替換『小明』-『xiaoming』

df.replace({'name':{'小明':'xiaoming'}})

3.批量替換某一列的值(把『性別』列里的男-male,女-felmale)

方法一:df['性別']=df['性別'].map({'男':'male','女':'female'})

方法二:df['性別'].replace('female','女',inplace=True)

               或df['性別']=df['性別'].replace('female','女')                這就是inplace的作用

                +df['性別'].replace('male','男',inplace=True)

4.替換列索引

df.columns=['sex','name','height','age']

或者:df.rename(columns={'性別':'sex','姓名':'name','身高':'height','年齡':'age'})

5.刪除某一列

del df['player']

6. 刪除某一列(方法二),刪除某一行(默認axis=0刪除行,為1則刪除列)

刪除某一列(方法二)

df.drop('性別',axis=1)

刪除某一行

df.drop(1,axis=0)

file1=pd.read_csv(file1_path)

file2=pd.read_csv(file2_path)

new1=pd.DataFrame()

new1['phone']=file1['phone']

new1['contact_time']=file1['contact_time']

new2=pd.DataFrame()

new2['phone']=file2['phone']

new2['submission_audit_time']=file2['提交審核時間']

newdata=pd.merge(new1,new2,on='phone',how='left')

df=pd.concat([df1,df2],axis=0)

4.2.2 橫向表連接

df=pd.concat([df1,df2],axis=1)

df1['地區'].str.split('·',3,expand=True)

df1:

df1[['城市', '城區','地址']] = df1['地區'].str.split('·', 3, expand = True)

5.1 缺失值刪除

data.dropna(axis=0,subset = ["Age", "Sex"])   # 丟棄『Age』和『Sex』這兩列中有缺失值的行

data.dropna(how = 'all')    # 傳入這個參數後將只丟棄全為缺失值的那些行

data.dropna(axis = 1)       # 丟棄有缺失值的列(一般不會這么做,這樣會刪掉一個特徵)

data.dropna(axis=1,how="all")   # 丟棄全為缺失值的那些列

5.2 缺失值填充:pandas.DataFrame.fillna()函數

DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

功能:使用指定方法填充NA/NaN值

其中inplace=True就是直接在原有基礎上填滿

5.3 缺失值查詢:

缺失值數量查詢:df.isnull().sum()

缺失值行查詢:df[df.isnull().T.any()]

newdata['ring_time']=pd.to_datetime(newdata['submission_audit_time'])-pd.to_datetime(newdata['contact_time'])

newdata['ring_time(number)']=(pd.to_datetime(newdata['submission_audit_time'])-pd.to_datetime(newdata['contact_time'])).apply(lambda x: x.days)

new=pd.DataFrame()

new=newdata[newdata['ring_time(number)'] ==0]

new.to_csv(save_path,encoding='utf-8-sig')

將數據按行拆分並存儲到不同的csv文件中:

path='C:/Users/EDZ/Desktop/工作/2021.08.19/'

for i in range(0,30):

    df.loc[[i]].to_csv(path+str(i)+'.csv',encoding='gbk')

df = df[['購葯日期', '星期','社保卡號','商品編碼', '商品名稱', '銷售數量', '應收金額', '實收金額' ]]

Ⅵ Python 數據可視化:數據分布統計圖和熱圖

本課將繼續介紹 Seaborn 中的統計圖。一定要牢記,Seaborn 是對 Matplotlib 的高級封裝,它優化了很多古老的做圖過程,因此才會看到一個函數解決問題的局面。

在統計學中,研究數據的分布情況,也是一個重要的工作,比如某些數據是否為正態分布——某些機器學習模型很在意數據的分布情況。

在 Matplotlib 中,可以通過繪制直方圖將數據的分布情況可視化。在 Seaborn 中,也提供了繪制直方圖的函數。

輸出結果:

sns.distplot 函數即實現了直方圖,還順帶把曲線畫出來了——曲線其實代表了 KDE。

除了 sns.distplot 之外,在 Seaborn 中還有另外一個常用的繪制數據分布的函數 sns.kdeplot,它們的使用方法類似。

首先看這樣一個示例。

輸出結果:

① 的作用是設置所得圖示的背景顏色,這樣做的目的是讓下面的 ② 繪制的圖像顯示更清晰,如果不設置 ①,在顯示的圖示中看到的就是白底圖像,有的部分看不出來。

② 最終得到的是坐標網格,而且在圖中分為三部分,如下圖所示。

相對於以往的坐標網格,多出了 B 和 C 兩個部分。也就是說,不僅可以在 A 部分繪制某種統計圖,在 B 和 C 部分也可以繪制。

繼續操作:

輸出結果:

語句 ③ 實現了在坐標網格中繪制統計圖的效果,jp.plot 方法以兩個繪圖函數為參數,分別在 A 部分繪制了回歸統計圖,在 B 和 C 部分繪制了直方圖,而且直方圖分別表示了對應坐標軸數據的分布,即:

我們把有語句 ② 和 ③ 共同實現的統計圖,稱為聯合統計圖。除了用 ② ③ 兩句可以繪制這種圖之外,還有一個函數也能夠「兩步並作一步」,具體如下:

輸出結果:

Ⅶ Python數據分析 | 數據描述性分析

首先導入一些必要的數據處理包和可視化的包,讀文檔數據並通過前幾行查看數據欄位。

對於我的數據來說,由於數據量比較大,因此對於缺失值可以直接做刪除處理。

得到最終的數據,並提取需要的列作為特徵。

對類別數據進行統計:

類別型欄位包括location、cpc_class、pa_country、pa_state、pa_city、assignee六個欄位,其中:

單變數統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變數,不處理原因或關系。單變數分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。
單變數數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標准差、協方差、變異系數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變數)和頻數,構成比(分類或等級變數)。

對於數值型數據,首先希望了解一下數據取值范圍的分布,因此可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。

按照發布的時間先後作為橫坐標,數值范圍的分布情況如圖所示.

還可以根據最終分類的結果查看這些數值數據在不同類別上的分布統計。

箱線圖可以更直觀的查看異常值的分布情況。

異常值指數據中的離群點,此處定義超出上下四分位數差值的1.5倍的范圍為異常值,查看異常值的位置。

參考:
python數據分析之數據分布 - yancheng111 - 博客園
python數據統計分析 -

科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。

在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定的拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。

衡量兩個變數的相關性至少有以下三個方法:

皮爾森相關系數(Pearson correlation coefficient) 是反應倆變數之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變數之間的相關性。常用於分析自變數之間,以及自變數和因變數之間的相關性。

返回結果的第一個值為相關系數表示線性相關程度,其取值范圍在[-1,1],絕對值越接近1,說明兩個變數的相關性越強,絕對值越接近0說明兩個變數的相關性越差。當兩個變數完全不相關時相關系數為0。第二個值為p-value,統計學上,一般當p-value<0.05時,可以認為兩變數存在相關性。

斯皮爾曼等級相關系數(Spearman』s correlation coefficient for ranked data ) ,它主要用於評價順序變數間的線性相關關系,在計算過程中,只考慮變數值的順序(rank, 秩或稱等級),而不考慮變數值的大小。常用於計算類型變數的相關性。

返回結果的第一個值為相關系數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。

kendall :

也可以直接對整體數據進行相關性分析,一般來說,相關系數取值和相關強度的關系是:0.8-1.0 極強 0.6-0.8 強 0.4-0.6 中等 0.2-0.4 弱 0.0-0.2 極弱。

Ⅷ python數據統計分析

1. 常用函數庫

  scipy包中的stats模塊和statsmodels包是python常用的數據分析工具,scipy.stats以前有一個models子模塊,後來被移除了。這個模塊被重寫並成為了現在獨立的statsmodels包。

 scipy的stats包含一些比較基本的工具,比如:t檢驗,正態性檢驗,卡方檢驗之類,statsmodels提供了更為系統的統計模型,包括線性模型,時序分析,還包含數據集,做圖工具等等。

2. 小樣本數據的正態性檢驗

(1) 用途

 夏皮羅維爾克檢驗法 (Shapiro-Wilk) 用於檢驗參數提供的一組小樣本數據線是否符合正態分布,統計量越大則表示數據越符合正態分布,但是在非正態分布的小樣本數據中也經常會出現較大的W值。需要查表來估計其概率。由於原假設是其符合正態分布,所以當P值小於指定顯著水平時表示其不符合正態分布。

 正態性檢驗是數據分析的第一步,數據是否符合正態性決定了後續使用不同的分析和預測方法,當數據不符合正態性分布時,我們可以通過不同的轉換方法把非正太態數據轉換成正態分布後再使用相應的統計方法進行下一步操作。

(2) 示例

(3) 結果分析

 返回結果 p-value=0.029035290703177452,比指定的顯著水平(一般為5%)小,則拒絕假設:x不服從正態分布。

3. 檢驗樣本是否服務某一分布

(1) 用途

 科爾莫戈羅夫檢驗(Kolmogorov-Smirnov test),檢驗樣本數據是否服從某一分布,僅適用於連續分布的檢驗。下例中用它檢驗正態分布。

(2) 示例

(3) 結果分析

 生成300個服從N(0,1)標准正態分布的隨機數,在使用k-s檢驗該數據是否服從正態分布,提出假設:x從正態分布。最終返回的結果,p-value=0.9260909172362317,比指定的顯著水平(一般為5%)大,則我們不能拒絕假設:x服從正態分布。這並不是說x服從正態分布一定是正確的,而是說沒有充分的證據證明x不服從正態分布。因此我們的假設被接受,認為x服從正態分布。如果p-value小於我們指定的顯著性水平,則我們可以肯定地拒絕提出的假設,認為x肯定不服從正態分布,這個拒絕是絕對正確的。

4.方差齊性檢驗

(1) 用途

 方差反映了一組數據與其平均值的偏離程度,方差齊性檢驗用以檢驗兩組或多組數據與其平均值偏離程度是否存在差異,也是很多檢驗和演算法的先決條件。

(2) 示例

(3) 結果分析

 返回結果 p-value=0.19337536323599344, 比指定的顯著水平(假設為5%)大,認為兩組數據具有方差齊性。

5. 圖形描述相關性

(1) 用途

 最常用的兩變數相關性分析,是用作圖描述相關性,圖的橫軸是一個變數,縱軸是另一變數,畫散點圖,從圖中可以直觀地看到相關性的方向和強弱,線性正相關一般形成由左下到右上的圖形;負面相關則是從左上到右下的圖形,還有一些非線性相關也能從圖中觀察到。

(2) 示例

(3) 結果分析

 從圖中可以看到明顯的正相關趨勢。

6. 正態資料的相關分析

(1) 用途

 皮爾森相關系數(Pearson correlation coefficient)是反應兩變數之間線性相關程度的統計量,用它來分析正態分布的兩個連續型變數之間的相關性。常用於分析自變數之間,以及自變數和因變數之間的相關性。

(2) 示例

(3) 結果分析

 返回結果的第一個值為相關系數表示線性相關程度,其取值范圍在[-1,1],絕對值越接近1,說明兩個變數的相關性越強,絕對值越接近0說明兩個變數的相關性越差。當兩個變數完全不相關時相關系數為0。第二個值為p-value,統計學上,一般當p-value<0.05時,可以認為兩變數存在相關性。

7. 非正態資料的相關分析

(1) 用途

 斯皮爾曼等級相關系數(Spearman』s correlation coefficient for ranked data ),它主要用於評價順序變數間的線性相關關系,在計算過程中,只考慮變數值的順序(rank, 值或稱等級),而不考慮變數值的大小。常用於計算類型變數的相關性。

(2) 示例

(3) 結果分析

 返回結果的第一個值為相關系數表示線性相關程度,本例中correlation趨近於1表示正相關。第二個值為p-value,p-value越小,表示相關程度越顯著。

8. 單樣本T檢驗

(1) 用途

 單樣本T檢驗,用於檢驗數據是否來自一致均值的總體,T檢驗主要是以均值為核心的檢驗。注意以下幾種T檢驗都是雙側T檢驗。

(2) 示例

(3) 結果分析

 本例中生成了2列100行的數組,ttest_1samp的第二個參數是分別對兩列估計的均值,p-value返回結果,第一列1.47820719e-06比指定的顯著水平(一般為5%)小,認為差異顯著,拒絕假設;第二列2.83088106e-01大於指定顯著水平,不能拒絕假設:服從正態分布。

9. 兩獨立樣本T檢驗

(1) 用途

 由於比較兩組數據是否來自於同一正態分布的總體。注意:如果要比較的兩組數據不滿足方差齊性, 需要在ttest_ind()函數中添加參數equal_var = False。

(2) 示例

(3) 結果分析

 返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.19313343989106416,比指定的顯著水平(一般為5%)大,不能拒絕假設,兩組數據來自於同一總結,兩組數據之間無差異。

10. 配對樣本T檢驗

(1) 用途

 配對樣本T檢驗可視為單樣本T檢驗的擴展,檢驗的對象由一群來自正態分布獨立樣本更改為二群配對樣本觀測值之差。它常用於比較同一受試對象處理的前後差異,或者按照某一條件進行兩兩配對分別給與不同處理的受試對象之間是否存在差異。

(2) 示例

(3) 結果分析

 返回結果的第一個值為統計量,第二個值為p-value,pvalue=0.80964043445811551,比指定的顯著水平(一般為5%)大,不能拒絕假設。

11. 單因素方差分析

(1) 用途

 方差分析(Analysis of Variance,簡稱ANOVA),又稱F檢驗,用於兩個及兩個以上樣本均數差別的顯著性檢驗。方差分析主要是考慮各組之間的平均數差別。

 單因素方差分析(One-wayAnova),是檢驗由單一因素影響的多組樣本某因變數的均值是否有顯著差異。

 當因變數Y是數值型,自變數X是分類值,通常的做法是按X的類別把實例成分幾組,分析Y值在X的不同分組中是否存在差異。

(2) 示例

(3) 結果分析

 返回結果的第一個值為統計量,它由組間差異除以組間差異得到,上例中組間差異很大,第二個返回值p-value=6.2231520821576832e-19小於邊界值(一般為0.05),拒絕原假設, 即認為以上三組數據存在統計學差異,並不能判斷是哪兩組之間存在差異 。只有兩組數據時,效果同 stats.levene 一樣。

12. 多因素方差分析

(1) 用途

 當有兩個或者兩個以上自變數對因變數產生影響時,可以用多因素方差分析的方法來進行分析。它不僅要考慮每個因素的主效應,還要考慮因素之間的交互效應。

(2) 示例

(3) 結果分析

 上述程序定義了公式,公式中,"~"用於隔離因變數和自變數,」+「用於分隔各個自變數, ":"表示兩個自變數交互影響。從返回結果的P值可以看出,X1和X2的值組間差異不大,而組合後的T:G的組間有明顯差異。

13. 卡方檢驗

(1) 用途

 上面介紹的T檢驗是參數檢驗,卡方檢驗是一種非參數檢驗方法。相對來說,非參數檢驗對數據分布的要求比較寬松,並且也不要求太大數據量。卡方檢驗是一種對計數資料的假設檢驗方法,主要是比較理論頻數和實際頻數的吻合程度。常用於特徵選擇,比如,檢驗男人和女人在是否患有高血壓上有無區別,如果有區別,則說明性別與是否患有高血壓有關,在後續分析時就需要把性別這個分類變數放入模型訓練。

 基本數據有R行C列, 故通稱RC列聯表(contingency table), 簡稱RC表,它是觀測數據按兩個或更多屬性(定性變數)分類時所列出的頻數表。

(2) 示例

(3) 結果分析

 卡方檢驗函數的參數是列聯表中的頻數,返回結果第一個值為統計量值,第二個結果為p-value值,p-value=0.54543425102570975,比指定的顯著水平(一般5%)大,不能拒絕原假設,即相關性不顯著。第三個結果是自由度,第四個結果的數組是列聯表的期望值分布。

14. 單變數統計分析

(1) 用途

 單變數統計描述是數據分析中最簡單的形式,其中被分析的數據只包含一個變數,不處理原因或關系。單變數分析的主要目的是通過對數據的統計描述了解當前數據的基本情況,並找出數據的分布模型。

 單變數數據統計描述從集中趨勢上看,指標有:均值,中位數,分位數,眾數;從離散程度上看,指標有:極差、四分位數、方差、標准差、協方差、變異系數,從分布上看,有偏度,峰度等。需要考慮的還有極大值,極小值(數值型變數)和頻數,構成比(分類或等級變數)。

 此外,還可以用統計圖直觀展示數據分布特徵,如:柱狀圖、正方圖、箱式圖、頻率多邊形和餅狀圖。

15. 多元線性回歸

(1) 用途

 多元線性回歸模型(multivariable linear regression model ),因變數Y(計量資料)往往受到多個變數X的影響,多元線性回歸模型用於計算各個自變數對因變數的影響程度,可以認為是對多維空間中的點做線性擬合。

(2) 示例

(3) 結果分析

 直接通過返回結果中各變數的P值與0.05比較,來判定對應的解釋變數的顯著性,P<0.05則認為自變數具有統計學意義,從上例中可以看到收入INCOME最有顯著性。

16. 邏輯回歸

(1) 用途

 當因變數Y為2分類變數(或多分類變數時)可以用相應的logistic回歸分析各個自變數對因變數的影響程度。

(2) 示例

(3) 結果分析

 直接通過返回結果中各變數的P值與0.05比較,來判定對應的解釋變數的顯著性,P<0.05則認為自變數具有統計學意義。

閱讀全文

與Python數據進行統計相關的資料

熱點內容
h3c光纖全工半全工設置命令 瀏覽:135
公司法pdf下載 瀏覽:379
linuxmarkdown 瀏覽:347
華為手機怎麼多選文件夾 瀏覽:679
如何取消命令方塊指令 瀏覽:345
風翼app為什麼進不去了 瀏覽:774
im4java壓縮圖片 瀏覽:358
數據查詢網站源碼 瀏覽:146
伊克塞爾文檔怎麼進行加密 瀏覽:886
app轉賬是什麼 瀏覽:159
php的基本語法 瀏覽:792
對外漢語pdf 瀏覽:516
如何用mamp本地web伺服器 瀏覽:869
如何加密自己js代碼 瀏覽:627
排列組合a與c的演算法 瀏覽:534
如何在文件夾中找到同名內容 瀏覽:786
有什麼app文字轉韓文配音 瀏覽:372
循環宏1命令 瀏覽:35
斐波那契數列矩陣演算法 瀏覽:674
公式保護後加密不了 瀏覽:82