小白上路掙扎指南:
- 安裝anaconda脓魏,詳見簡書余欣博士文章 兰吟,安裝過程中涉及的如在哪輸入命令行等問題,還可參閱唐瑟同學(xué)的這篇入門分享茂翔。
- 安裝Jupyter notebook混蔼,詳見簡書余欣博士文章,關(guān)于安裝了Python 2環(huán)境后珊燎,如何在Jupyter notebook中實(shí)現(xiàn)的問題惭嚣,參考這篇文章,如1中所述安裝好py2環(huán)境后悔政,
activate py2
晚吞,之后輸入conda install notebook ipykernel
,進(jìn)一步選y谋国,最后ipython kernel install --user
槽地,即可在jupyter notebook中選擇py2的環(huán)境了。 - 啟動Jupyter notebook
- 加載Python包
import pandas as pd #導(dǎo)入pandas包芦瘾,命名為pd捌蚊。
import numpy as np #導(dǎo)入numpy,命名為np旅急。
import matplotlib.pyplot as plt #導(dǎo)入matplotlib.pyplot逢勾,命名為plt。
from scipy import stats #從scipy導(dǎo)入stats
- 導(dǎo)入數(shù)據(jù)
weight_data = pd.read_table('weight.txt') #用pd讀取文件藐吮,命名為weight_data
weight_data.shape # 展示DataFrame的維度
- 數(shù)據(jù)處理
weight_data['weight'].mean() #求均值
weight_data['weight'].var() #求方差
- 數(shù)據(jù)可視化
fig = plt.figure() #創(chuàng)造畫布fig
plt.rcParams["font.family"] = "SimHei" #修改默認(rèn)字體溺拱,以正確顯示中文(參考自小密圈中@木子 同學(xué)的分享)
x = weight_data['weight'] #以x代表weight_data表中weight欄
ax = fig.add_subplot(111) #將分為1*1的畫布上自左向右自上向下第1格畫圖命名為ax逃贝,若改為234,即將畫布分為2*3的格子迫摔,在第4格子填入ax
numBins = 10 #柱的數(shù)目(最終將生成此數(shù)+1的edge)沐扳,此處亦可輸入[0,40,50,90],定制尺度的分布
ax.hist(x,numBins,color='blue',alpha=0.2) #alpha是透明度設(shè)置
plt.title(u'體重直方圖') #設(shè)置繪圖標(biāo)題
plt.show() #展示圖
結(jié)果展示:
數(shù)據(jù)特征:眾數(shù)落在40~50句占,小于平均值50.7沪摄,是右偏的。體重較高的會和大多數(shù)眾數(shù)差得比較遠(yuǎn)纱烘。
附加:讀取csv文件
數(shù)據(jù)特征:依然是一個右偏分布杨拐,極大值偏離很遠(yuǎn),這對航空運(yùn)力是很大的挑戰(zhàn)擂啥,峰值管理并不好做哄陶,運(yùn)力峰值和日常運(yùn)力的協(xié)調(diào)應(yīng)該會比較難。
包的介紹
pandas哺壶,全稱Python Data Analysis Librarylist屋吨,是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的山宾。Pandas 納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型至扰,提供了高效地操作大型數(shù)據(jù)集所需的工具。Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來资锰,因此敢课,pandas為時間序列分析提供了很好的支持。 Pandas的名稱來自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)台妆。
NumPy翎猛,全稱Numeric Python,是Python的一種開源的數(shù)值計算擴(kuò)展接剩∏欣澹可用來存儲和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效懊缺,因array只能由存儲相同的數(shù)據(jù)類型疫稿,利用內(nèi)存更高效。同時numpy跟C/C++和Fortran代碼的工具包可通融鹃两。numpy和稀疏矩陣運(yùn)算包scipy配合更佳方便遗座。
Matplotlib是一個 Python 的 2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形俊扳⊥窘可以方便地生成繪圖,直方圖馋记,功率譜号坡,條形圖懊烤,錯誤圖,散點(diǎn)圖等宽堆。matplotlib的pyplot子庫提供了和matlab類似的繪圖API腌紧,方便用戶快速繪制2D圖表。matplotlib.pyplot是命令行式函數(shù)的集合畜隶,每一個函數(shù)都對圖像作了修改壁肋,比如創(chuàng)建圖形,在圖像上創(chuàng)建畫圖區(qū)域籽慢,在畫圖區(qū)域上畫線浸遗,在線上標(biāo)注等。
SciPy函數(shù)庫在NumPy庫的基礎(chǔ)上增加了眾多的數(shù)學(xué)嗡综、科學(xué)以及工程計算中常用的庫函數(shù)乙帮。例如線性代數(shù)、常微分方程數(shù)值求解极景、信號處理、圖像處理驾茴、稀疏矩陣等等盼樟。
help()和dir()
method的查詢,比如dir(list)锈至,會把list的所有方法列出晨缴,help(list.append)可以查看具體的。設(shè)a=abc.def峡捡,則help(a)亦可查詢幫助击碗。
導(dǎo)入包的情況,若查詢類型是pandas.core.frame.DataFrame们拙,但已經(jīng)導(dǎo)入為pd稍途,則help文件使用時也需在type部分寫為pd,如help(pd.core.frame.DataFrame.shape)砚婆,或者可以直接在瀏覽器搜索panda shape也可械拍。
import和from import
import xx導(dǎo)入模塊對于模塊中的函數(shù),每次調(diào)用需要“模塊.函數(shù)”來用装盯。
from xx import fun 直接導(dǎo)入模塊中某函數(shù)坷虑,直接fun()就可用。