1. 程式人生 > >用python學概率與統計(第二章)描述性統計:表格法,圖形法

用python學概率與統計(第二章)描述性統計:表格法,圖形法

頻數分佈

2.1彙總定性資料

柱狀圖

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
%pylab


df = pd.read_csv("E:\\data\\SoftDrink.csv")
df

df.describe()    

grouped_df= df.groupby("Brand Purchased")

group1 = grouped_df.size()

group2.index

group2.values

plt.bar(group2.index,group2.values,color = ['b'
,'r','y','c','g'],) plt.title('frequency of softdring') plt.xlabel("soft drink") plt.ylabel("frequency") ?plt.bar plt.ylim(ymax = 25) #設定y軸區間 for a,b in zip(group2.index,group2.values): plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=10) #設定顯示每條柱的數字標註

餅狀圖

plt.pie(group2.values,labels =group2.index,autopct = '%1.1f%%'
,shadow = False,startangle =90 ) plt.axis("equal") plt.title("pie",loc= 'right')

2.2彙總定量資料

為定義定量資料中組的概念,需要下列三個步驟
1.確定分組的數目,互不重疊
2。確定分組區間 (近似吧 (最大值-最小值)/組數
3。確定組限

df = pd.read_csv("E:\\data\\Audit.csv")
In [124]:

df['Audit Time'].values
Out[124]:
array([12, 15, 20, 22, 14, 14, 15, 27, 21, 18
, 19, 18, 22, 33, 16, 18, 17, 23, 28, 13], dtype=int64) In [117]: df.describe() Out[117]: Audit Time count 20.000000 mean 19.250000 std 5.437443 min 12.000000 25% 15.000000 50% 18.000000 75% 22.000000 max 33.000000 In [126]: AT bins=[10,15,20,25,30,35] AT=pd.cut(df['Audit Time'],bins) AT Out[126]: 0 (10, 15] 1 (10, 15] 2 (15, 20] 3 (20, 25] 4 (10, 15] 5 (10, 15] 6 (10, 15] 7 (25, 30] 8 (20, 25] 9 (15, 20] 10 (15, 20] 11 (15, 20] 12 (20, 25] 13 (30, 35] 14 (15, 20] 15 (15, 20] 16 (15, 20] 17 (20, 25] 18 (25, 30] 19 (10, 15] Name: Audit Time, dtype: category Categories (5, interval[int64]): [(10, 15] < (15, 20] < (20, 25] < (25, 30] < (30, 35]] In [130]: freqDisofAT = pd.value_counts(AT) In [135]: freqDisofAT = freqDisofAT.sort_index() In [151]: freqDisofAT Out[151]: (10, 15] 6 (15, 20] 7 (20, 25] 4 (25, 30] 2 (30, 35] 1 Name: Audit Time, dtype: int64 plt.style.use( 'ggplot') #ggplot風格 plt.hist(df['Audit Time'].values,bins,edgecolor = 'k') plt.hist(df['Audit Time'].values,bins,edgecolor = 'k') Out[65]: (array([ 4., 8., 5., 2., 1.]), array([10, 15, 20, 25, 30, 35]), <a list of 5 Patch objects>) In [12]: import matplotlib ​ In [18]: plt.ylabel ("頻數",fontproperties = 'SimHei',fontsize = 14) #中文顯示 Out[18]: Text(55.8472,0.5,'頻數') In [19]: ) plt.xlabel ("審計時間(天)",fontproperties = 'SimHei',fontsize = 14) Out[19]: Text(0.5,23.1922,'審計時間(天)') plt.hist(df['Audit Time'].values,bins,normed=True, histtype='step', cumulative=True) #頻數累計圖 normed 轉換成頻數

2.3 莖葉圖

plt.stem(df.sort_values(“Correct”))

2.4 交叉分組列表和散點圖

df = pd.read_csv("E:\\data\\Restaurant.csv")
In [18]:

c
df.describe()
Out[18]:
Restaurant  Meal Price ($)
count   300.000000  300.000000
mean    150.500000  25.896667
std 86.746758   9.287636
min 1.000000    10.000000
25% 75.750000   19.000000
50% 150.500000  25.000000
75% 225.250000  32.000000
max 300.000000  48.000000
In [19]:

df
df
Out[19]:
Restaurant  Quality Rating  Meal Price ($)
0   1   Good    18
1   2   Very Good   22
2   3   Good    28
3   4   Excellent   38
4   5   Very Good   33
5   6   Good    28
6   7   Very Good   19
7   8   Very Good   11
8   9   Very Good   23
9   10  Good    13
10  11  Very Good   33
11  12  Very Good   44
12  13  Excellent   42
13  14  Excellent   34
14  15  Good    25
15  16  Good    22
16  17  Good    26
17  18  Excellent   17
18  19  Very Good   30
19  20  Good    19
20  21  Very Good   33
21  22  Very Good   22
22  23  Excellent   32
23  24  Excellent   33
24  25  Very Good   34
25  26  Very Good   38
26  27  Good    27
27  28  Good    27
28  29  Very Good   26
29  30  Very Good   34
... ... ... ...
270 271 Excellent   48
271 272 Very Good   33
272 273 Very Good   25
273 274 Very Good   34
274 275 Very Good   20
275 276 Excellent   36
276 277 Excellent   40
277 278 Good    13
278 279 Very Good   12
279 280 Very Good   27
280 281 Very Good   20
281 282 Excellent   30
282 283 Good    29
283 284 Very Good   22
284 285 Good    27
285 286 Very Good   20
286 287 Excellent   37
287 288 Very Good   27
288 289 Good    23
289 290 Good    16
290 291 Very Good   23
291 292 Very Good   24
292 293 Excellent   45
293 294 Good    14
294 295 Good    18
295 296 Good    17
296 297 Good    16
297 298 Good    15
298 299 Very Good   38
299 300 Very Good   31
300 rows × 3 columns
In [20]:

30,40,50
bins = (10,20,30,40,50)
In [31]:

cut_pd = pd.cut(df['Meal Price ($)'],bins,right = False)
In [32]:

cut_pd
cut_pd
Out[32]:
0      [10, 20)
1      [20, 30)
2      [20, 30)
3      [30, 40)
4      [30, 40)
5      [20, 30)
6      [10, 20)
7      [10, 20)
8      [20, 30)
9      [10, 20)
10     [30, 40)
11     [40, 50)
12     [40, 50)
13     [30, 40)
14     [20, 30)
15     [20, 30)
16     [20, 30)
17     [10, 20)
18     [30, 40)
19     [10, 20)
20     [30, 40)
21     [20, 30)
22     [30, 40)
23     [30, 40)
24     [30, 40)
25     [30, 40)
26     [20, 30)
27     [20, 30)
28     [20, 30)
29     [30, 40)
         ...   
270    [40, 50)
271    [30, 40)
272    [20, 30)
273    [30, 40)
274    [20, 30)
275    [30, 40)
276    [40, 50)
277    [10, 20)
278    [10, 20)
279    [20, 30)
280    [20, 30)
281    [30, 40)
282    [20, 30)
283    [20, 30)
284    [20, 30)
285    [20, 30)
286    [30, 40)
287    [20, 30)
288    [20, 30)
289    [10, 20)
290    [20, 30)
291    [20, 30)
292    [40, 50)
293    [10, 20)
294    [10, 20)
295    [10, 20)
296    [10, 20)
297    [10, 20)
298    [30, 40)
299    [30, 40)
Name: Meal Price ($), Length: 300, dtype: category
Categories (4, interval[int64]): [[10, 20) < [20, 30) < [30, 40) < [40, 50)]
In [109]:

cross = pd.crosstab(df["Quality Rating"],cut_pd,margins = True)
In [110]:

cross
cross
Out[110]:
Meal Price ($) [10, 20)    [20, 30)    [30, 40)    [40, 50)    All
Quality Rating                  
Excellent   2   14  28  22  66
Good    42  40  2   0   84
Very Good   34  64  46  6   150
All 78  118 76  28  300
In [112]:

cross.reindex(['Good', 'Very Good','Excellent',  'All'])
Out[112]:
Meal Price ($) [10, 20)    [20, 30)    [30, 40)    [40, 50)    All
Quality Rating                  
Good    42  40  2   0   84
Very Good   34  64  46  6   150
Excellent   2   14  28  22  66
All 78  118 76  28  300

pd.crosstab(df["Quality Rating"],cut_pd,margins = True,normalize = True)
###
Meal Price ($) [10, 20)    [20, 30)    [30, 40)    [40, 50)    All
Quality Rating                  
Excellent   0.006667    0.046667    0.093333    0.073333    0.22
Good    0.140000    0.133333    0.006667    0.000000    0.28
Very Good   0.113333    0.213333    0.153333    0.020000    0.50
All 0.260000    0.393333    0.253333    0.093333    1.00

散點圖

df2 = pd.read_csv("E:\\data\\Scatter.csv")
df2
#   Observation x   y
0   1   -22 22
1   2   -33 49
2   3   2   8
3   4   29  -16
4   5   -13 10
5   6   21  -28
6   7   -13 27
7   8   -23 35
8   9   14  -5
9   10  3   -3
10  11  -37 48
11  12  34  -29
12  13  9   -18
13  14  -33 31
14  15  20  -16
15  16  -3  14
16  17  -15 18
17  18  12  17
18  19  -20 -11
19  20  -7  -22
plt.scatter(df2["x"],df2["y"])

相關推薦

python概率統計第二描述性統計:表格圖形

頻數分佈 2.1彙總定性資料 柱狀圖 import numpy as np import pandas as pd from pandas import Series,DataFrame import matplotlib.pyplot as pl

Effective Objective-C 2.0 總結筆記第二—— 物件、訊息、執行期

第二章:物件、訊息、執行期 ​ “物件”就是“基本構造單元”,開發者可以通過物件來儲存並傳遞資料。物件之間傳遞資料並執行任務的過程就是“訊息傳遞”。程式執行起來後,為其提供相關支援的程式碼就是“Objective-C執行期環境”,它提供了一些使得物件之間能夠傳遞訊息的重要函式,並且包括建

為什麼我要放棄javaScript資料結構演算法第二—— 陣列

第二章 陣列 幾乎所有的程式語言都原生支援陣列型別,因為陣列是最簡單的記憶體資料結構。JavaScript裡也有陣列型別,雖然它的第一個版本並沒有支援陣列。本章將深入學習陣列資料結構和它的能力。 為什麼用陣列 需求:儲存所在城市每個月的平均溫度,可以這麼實現 var averageTemp1 = 43.3;

概率論數理統計第二嚴繼高版(2)

http 分享圖片 概率 info 概率論 第二版 mage 數理統計 nbsp 概率論與數理統計(第二版)嚴繼高版(2)

Python接口自動化實戰第二階段- 數據代碼分離

保持 導致 註冊 png 編寫 rom res 1.0 無法執行 前面我們已經實現了用unittest框架編寫測試用例,實現了請求接口的封裝,這樣雖然已經可以完成接口的自動化測試,但是其復用性並不高。 我們看到每個方法(測試用例)的代碼幾乎是一模一樣的,試想一下,在我們的

Python學習第二

img 開始 png 變量命名 spa cccccc otto pad 基本 一、 變量 1. type(變量名) 可以查看該變量的類型 2. 關於字符串的兩個運算符 + 與 * ,分別執行 拼接 和 重復 操作 3. 格式化輸出 %s 字符串 %d 整型 (%0

《矩陣分析應用第二張賢達》PDF

image aid images db4 粘貼 proc com follow process 下載:https://pan.baidu.com/s/1fbhJ4I2MNKozlYkFiadCoA 《矩陣分析與應用(第二版)張賢達》PDF帶目錄和書簽,文字可以復制粘貼。經典

我的python中級班學習之路全程筆記第一模組 第二第2部分

第二章                       資料型別    字元編碼    檔案操作 第二部分 第三節 :資料型別—字串講解 一

我的python中級班學習之路全程筆記第一模塊 第二第2部分

一個 文件操作 模塊 生成 字符串 講解 mar style 定義 第二章 數據類型 字符編碼 文件操作 第二部分 第三節 :數據類型—字符串講解 一、定義: 字符串是一個有序的字符的字符

我的python中級班學習之路全程筆記第一模組 第二第3部分

第二章                       資料型別    字元編碼    檔案操作 第三部分  第六節 :資料型別—元祖型別

Linux核心設計實現 總結筆記第二

一、Linux核心中的一些基本概念 核心空間:核心可獨立於普通應用程式,它一般處於系統態,擁有受保護的記憶體空間和訪問硬體裝置的所有許可權。這種系統態和被保護起來的記憶體空間,稱為核心空間。 程序上下文:當應用程式執行一條系統呼叫,通過系統呼叫執行在核心空間,而核心被稱為執行在程序上下文中。  

python擷取螢幕特定位置具體class的圖片多用於爬蟲時遇到的驗證碼擷取再進行反反爬

比如在爬蟲時遇到頁面顯示驗證碼驗證環節,需要先擷取到驗證碼,再識別、輸入驗證碼,完成識別過程。 以爬取zhipin.com 為例。遇到的反爬頁面顯示如下: 擷取思路: 1,用selenium開啟該反爬的頁面,截全屏 2,定位到驗證碼處,截圖儲存即可 程式碼如下: fr

獨家 | 手把手教你Python進行Web抓取附程式碼

作為一名資料科學家,我在工作中所做的第一件事就是網路資料採集。使用程式碼從網站收集資料,當時對我來說是一個完全陌生的概念,但它是最合理、最容易獲取的資料來源之一。經過幾次嘗試,網路抓取已經成為我的第二天性,也是我幾乎每天使用的技能之一。 在本教程中,我將介紹一個簡單的例子,說明如何抓取一個網站,

redis設計實現第二 第一 引言

1.前言 本書的版本基於redis 3.0 個人主要是鞏固redis基礎知識,同時探索redis的分散式使用 2.本書主要內容 (1)資料結構與物件 (2)單機資料庫的實現 (3)多機資料庫的實現 (4)獨立功能的實現 3.資料結構與物件 redis

厲害了Python實現自動掃雷!附帶原始碼

  自動掃雷一般分為兩種,一種是讀取記憶體資料,而另一種是通過分析圖片獲得資料,並通過模擬滑鼠操作,這裡我用的是第二種方式。 學習Python中有不明白推薦加入交流群              

使用python刷Leetcode演算法題第二

第二週了。。。又刷了一週,這周明顯感覺刷起來更順了,加油!!!! Pascal’s Triangle 英文描述: Given numRows, generate the first numRows of Pascal’s triangle. 例子:

python做HTTP介面測試》第二學習筆記

第二章 小節1: 編寫一個Python程式,showjson.py,執行程式,提示“請輸入您的姓名:”,回車後,提示,”請輸入您的電話號碼:”,回車後,用JSON格式打印出你輸入的通訊資訊如下 import json name = input("請

一個Python編寫的股票資料滬深爬蟲和選股策略測試框架

一個股票資料(滬深)爬蟲和選股策略測試框架,資料基於雅虎YQL和新浪財經。 根據選定的日期範圍抓取所有滬深兩市股票的行情資料。 根據指定的選股策略和指定的日期進行選股測試。 計算選股測試實際結果(包括與滬深300指數比較)。 儲存資料到JSON檔案、CS

神經網路深度學習課程學習筆記第二

第二章 神經網路基礎 自學Andrew Ng老師的神經網路公開課,作一些筆記,老師講的非常詳細,通俗易懂,感覺不需要做第一章的筆記,所以沒有 2.1 二分分類 什麼是二分分類問題,用影象中是否有小貓的例子來說明,影象的顏色畫素數值是演算法的輸入,是否有小貓

Python做個小網站MVC架構

1. 基本結構,採用 MVC 模式。 控制器(controller)負責轉發請求,對請求進行處理檢視 (View): 介面設計人員進行圖形介面設計。模型 (Model): 程式設計師編寫程式應有的功能(