python實踐概率統計1 探索性資料分析

2021-10-03 15:46:50 字數 3729 閱讀 7648

一、資料背景

美國疾控中心對全美調查的妊娠情況資料,共13593樣本記錄,每個記錄共有244個變數指標。主部分主要使用到如下變數。

caseid:調查參與者的整數id。

prglength:妊娠週數,是乙個整數。

outcome:懷孕結果的整數**。1代表成功生產。

pregordr:妊娠的順序號。例如,一位調查參與者的第一次妊娠為1,第二次為2,以此類推。

birthord:成功生產的順序號,一位調查參與者的第乙個孩子**為1,以此類推。對沒有成功生產的其他妊娠結果,此字段為空。

birthwgt_lb和birthwgt_oz:新生兒體重的磅部分數值和盎司部分數值。

agepreg:妊娠結束時母親的年齡。

finalwgt:調查參與者的統計權重。這是乙個浮點數,表示這位調查參與者在全美人口中代表的人數。

二、探索性分析操作

(1)匯入資料,並檢視資料基本情況

匯入調查結果資料集,使用head函式檢視開始部分的資料情況。

preg = nsfg.readfempreg(

)preg.head(

)

caseid

pregordr

howpreg_n

howpreg_p

moscurrp

nowprgdk

pregend1

pregend2

nbrnaliv

multbrth

...laborfor_i

religion_i

metro_i

basewgt

adj_mod_basewgt

finalwgt

secu_p

sest

cmintvw

totalwgt_lb01

1nan

nannan

nan6.0

nan1.0

nan...00

03410.389399

3869.349602

6448.27111229

nan8.812511

2nan

nannan

nan6.0

nan1.0

nan...00

03410.389399

3869.349602

6448.27111229

nan7.875022

1nan

nannan

nan5.0

nan3.0

5.0...00

07226.301740

8567.549110

12999.542264212

nan9.125032

2nan

nannan

nan6.0

nan1.0

nan...00

07226.301740

8567.549110

12999.542264212

nan7.000042

3nan

nannan

nan6.0

nan1.0

nan...00

07226.301740

8567.549110

12999.542264212

nan6.1875

5 rows × 244 columns

(2)檢視某列的資料型別,以及該列的具體資料

檢視妊娠序號列pregordr的情況。

pregordr = preg[

'pregordr'

]type

(pregordr)

pregordr

0        1

1 2

2 1

3 2

4 3

5 1

..13587 3

13588 1

13589 2

13590 3

13591 4

13592 5

name: pregordr, length: 13593, dtype: int64

(3)資料驗證,檢視資料的總體情況,判斷是否存在嚴重錯誤

preg.outcome.value_counts(

).sort_index(

)

1    9148

2 1862

3 120

4 1921

5 190

6 352

name: outcome, dtype: int64

統計到的妊娠結果分布,與疾控中心公布的資料一致

value   label                total 

1 live birth 9148

2 induced abortion 1862

3 stillbirth 120

4 miscarriage 1921

5 ectopic pregnancy 190

6 current pregnancy 352

preg.birthwgt_lb.value_counts(

).sort_index(

)

0.0        8

1.0 40

2.0 53

3.0 98

4.0 229

5.0 697

6.0 2223

7.0 3049

8.0 1889

9.0 623

10.0 132

11.0 26

12.0 10

13.0 3

14.0 3

15.0 1

51.0 1

name: birthwgt_lb, dtype: int64

發現有乙個51磅重的新生兒,顯然是異常值。對異常值進行處理,使用np.nan非法值進行替換:

preg.birthwgt_lb.

[preg.birthwgt_lb>20]

= np.nan

(4)分析典型資料

preg[preg.caseid==

10229

].outcome.values

array([4, 4, 4, 4, 4, 4, 1], dtype=int64)
輸出結果中**1表示成功分娩,**4表示流產。caseid為10229的被調查者,經歷了6次流產,最終第7次成功產下孩子,值得尊敬,令人感動。

統計思維 程式設計師數學之概率統計(1)

第一章 經驗之談 觀察的數量太少 選擇偏差 確認偏差 不準確 更好的做法 統計方法 收集資料,使用大型全國性調查的資料 描述性統計,計算能總結資料的統計量 探索性資料分析,尋找模式 差異和其他能解決問題的而特徵 假設檢驗,評判影響是否真實 估計,樣本推斷整體 術語 經驗之談 個人隨意收集的證據 直觀...

概率論與數量統計 二 1

對於事件a,我們希望知道隨機事件在一次試驗中發生的可能性,這個可能性用乙個合適的數來表示,記為p a 稱為事件a在一次試驗中發生的概率。看乙個例子 例1 從0,1,2,3,4,5,6,7,8,9 數字中任意選出三個不同的數字,試求三個數字中不含0和5的概率。解 設 a 表示 三個數字中不含0和5 從...

python實踐專案1

南昌理工學院人工智慧學院實驗室 workshop 實踐專案 import time print welcome to our workshop print a,b,c 1 test 1,2,3,4 print a,b,c player name input 請輸入玩家名 print 玩家 playe...