Day One——利用pandas可視化處理數據
第一、二部分數據catering_sale.xls
第三部分數據catering_dish_profit.xls
第四部分數據catering_sale_all.xls
第一部分——可視化數據,箱線圖。
對應函數programmer_1
數據有兩列,日期和銷量。先通過可視化的手段將其展示。
這裏使用箱線圖進行展示。關於箱線圖的定義,請查閱百度百科
步驟:
讀取數據
將數據轉換爲箱線圖數據。使用pandas函數
boxplot
,指定返回類型爲dict
字典提取箱線圖的數據。提取
key
爲fliers
(翻譯爲傳單?)將提取的數據可視化。添加註釋,使用函數
annotate
,爲了使註釋不擋住圖線,特地處理了註釋位置
畫出來的箱線圖如下
第二部分——提取數據,極差(range)、方差(var)、四分位差(quartile deviation)
對應函數programmer_2
相關名詞可查閱博客, 統計學中常用專用名詞中英對照
步驟:
讀取數據
篩選數據
在原有的基礎上拓展數據
- 極差=最大值-最小值
- 方差=標準差/平均值
- 四分位差=第三四分位數-第一四分位數
輸出如下:
count 200.000000
mean 2755.214700
std 751.029772
min 22.000000
25% 2451.975000
50% 2655.850000
75% 3026.125000
max 9106.440000
range 9084.440000
var 0.272585
dis 574.150000
Name: 銷量, dtype: float64
第三部分——可視化數據,盈利折線圖和直方圖
對應函數programmer_3
步驟:
讀取數據
按照盈利進行排序
畫直方圖
plot(kind='bar')
, 添加縱座標ylabel
畫折線圖
plot(color='r', secondary_y=True, style='-o', linewidth = 2)
, 添加縱座標ylabel
添加註釋
annotate
畫出的圖形如下
第四部分——計算相關性
兩個特徵之間相關係數。通俗理解就是,A與B有多大的可能性相關,或者說A有多大的可能會影響B。
代碼部分就沒啥可以說的了,主要就是使用了corr()
這個函數,具體可以下載代碼和數據來看看。
運行結果如下
# data.corr()
百合醬蒸鳳爪 翡翠蒸香茜餃 金銀蒜汁蒸排骨 樂膳真味雞 蜜汁焗餐包 生炒菜心 鐵板酸菜豆腐 \
百合醬蒸鳳爪 1.000000 0.009206 0.016799 0.455638 0.098085 0.308496 0.204898
翡翠蒸香茜餃 0.009206 1.000000 0.304434 -0.012279 0.058745 -0.180446 -0.026908
金銀蒜汁蒸排骨 0.016799 0.304434 1.000000 0.035135 0.096218 -0.184290 0.187272
樂膳真味雞 0.455638 -0.012279 0.035135 1.000000 0.016006 0.325462 0.297692
蜜汁焗餐包 0.098085 0.058745 0.096218 0.016006 1.000000 0.308454 0.502025
生炒菜心 0.308496 -0.180446 -0.184290 0.325462 0.308454 1.000000 0.369787
鐵板酸菜豆腐 0.204898 -0.026908 0.187272 0.297692 0.502025 0.369787 1.000000
香煎韭菜餃 0.127448 0.062344 0.121543 -0.068866 0.155428 0.038233 0.095543
香煎羅卜糕 -0.090276 0.270276 0.077808 -0.030222 0.171005 0.049898 0.157958
原汁原味菜心 0.428316 0.020462 0.029074 0.421878 0.527844 0.122988 0.567332
# data.corr()[u'百合醬蒸鳳爪']
香煎韭菜餃 香煎羅卜糕 原汁原味菜心
百合醬蒸鳳爪 0.127448 -0.090276 0.428316
翡翠蒸香茜餃 0.062344 0.270276 0.020462
金銀蒜汁蒸排骨 0.121543 0.077808 0.029074
樂膳真味雞 -0.068866 -0.030222 0.421878
蜜汁焗餐包 0.155428 0.171005 0.527844
生炒菜心 0.038233 0.049898 0.122988
鐵板酸菜豆腐 0.095543 0.157958 0.567332
香煎韭菜餃 1.000000 0.178336 0.049689
香煎羅卜糕 0.178336 1.000000 0.088980
原汁原味菜心 0.049689 0.088980 1.000000
百合醬蒸鳳爪 1.000000
翡翠蒸香茜餃 0.009206
金銀蒜汁蒸排骨 0.016799
樂膳真味雞 0.455638
蜜汁焗餐包 0.098085
生炒菜心 0.308496
鐵板酸菜豆腐 0.204898
香煎韭菜餃 0.127448
香煎羅卜糕 -0.090276
原汁原味菜心 0.428316
# data[u'百合醬蒸鳳爪'].corr(data[u'翡翠蒸香茜餃']
Name: 百合醬蒸鳳爪, dtype: float64
0.00920580305184