用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): 程式設計師編寫程式應有的功能(