pathon學習手冊(2)——藥店銷售數據分析
前文:
有了python的基礎知識,我們就可以開始進行數據分析了,在案例中敲代碼複習python知識點比死記硬背更有幫助。
本文使用了猴子老師提供的藥店數據集,進行數據分析的基本操作。
首先了解一下數據分析的步驟:
- 提出問題——理解數據——數據清洗——構建模型——數據可視化
提出問題:你的客戶會幫你確定問題,但他們有時候也不太靠譜,你要不停地問「是多少」「為什麼」這樣的問題,量化你的目標;
理解數據:你要取得原始數據集,閱讀一手的數據,防止被糊塗的客戶誤導。你需要將大問題拆分成小問題,拆解會幫你更好的理解數據。
提出問題和理解數據這兩步十分重要,但本文主要是注重基於python的數據清洗和構建模型,計算了幾個業務指標,並沒有敘述提出問題——理解數據的重要過程。
建議讀者參考《深入淺出數據分析》一書進行系統學習。
數據清洗:這是數據分析最費功夫的步驟。讓我們來看看在藥店數據集中用到的數據分析知識和python知識點吧!
1.數據清洗的步驟
選擇子集——列名重命名——缺失數據處理——數據類型轉換——數值排序——異常值處理
2.數據清洗操作代碼和知識點匯總
python知識點總結:
- loc根據索引或標籤選取
df.loc[5]#根據索引選取 df.loc[a]#根據標籤選取df.loc[行標籤,列標籤]#選取某行某列的數據
df.loc的兩個參數分別為行標籤和列標籤,這兩個參數可以是列表也可以是單個字元,如果兩個參數都為列表則返回的是DataFrame,否則,則為Series。
需要注意的是,loc選取的DataFrame依然是DataFrame格式,不能計算,如果需要計算,需要用df[ ]選取數據
- loc列表或數組標籤選取
- loc標籤切片 (切片內容包括第一個和最後一個)
df.loc[a:b]#選取ab兩行數據df.loc[:,one]#選取one列的數據
當切片器和索引類型不兼容時會發生錯誤,例如datatimeindex類型,不能使用整數索引,要把切片中的string df.loc[2:3]轉換成index df.loc[a,b]才能正常切片。
整數是有效的標籤,但是他們必須作為標籤而不是位置。
對於Series:
df.loc.[c:] #選取C行及以後的全部數據df.loc[c:]=0 #C行及以後會全變成零,即切片選取也適用於設置操作.
對於DataFrame:
Df.loc[[a, b, d], :]#選取abd行的,所有列Df.loc[d:, A:C] #選取d行及以後所有行的,A-C列
- loc布爾數組
df1.loc[a] > 0 #選取a>0的列df1.loc[:, df1.loc[a] > 0] #選取a>o的那一列的所有數據
- loc可調用的函數(調用Series,DataFrame或Panel)並返回索引
df1.loc[lambda df: df.A > 0, :] #A列大於0的行,所有列df1.loc[:, lambda df: [A, B]]#所有行,A,B兩列bb = pd.read_csv(data/baseball.csv, index_col=id)(bb.groupby([year, team]).sum().loc[lambda df: df.r > 100])
- 運算符匯總
Python 運算符 | 菜鳥教程
Python 運算符 | 菜鳥教程Python 運算符 | 菜鳥教程
- shape numpy.ndarray.shape - NumPy v1.14 Manual
- dropna
python進行數據處理--pandas的drop函數 - CSDN博客
pandas.DataFrame.dropna - pandas 0.22.0 documentation
- split Python split()方法
- pd.to_datetime python的時間轉換datetime和pd.to_datetime - CSDN博客
- sort_value
pandas.DataFrame.sort_values - pandas 0.22.0 documentation
Map按鍵排序(sort by key), 按值排序(sort by value)。
- reset_index drop 參見官方文檔
pandas.DataFrame.reset_index - pandas 0.22.0 documentation
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop.html
- querySer
數據清洗結束之後,對課程中要求的幾個業務指標進行計算,代碼如下:
這個藥店數據集的處理就結束了,完成了用python處理數據的基本流程。
我會繼續寫猴子老師課程的學習筆記,對數據進行深入的分析。
推薦閱讀:
※這是一份數據分析求職指南--當我爬取拉勾、前程無憂、Boss直聘後
※大數據分析課程怎麼學習?大數據分析課程
※離散、連續概率分布小結+python中的應用
※七周數據分析師:第二周業務篇,有關業務思維的學習。
※數據可視化,透視隱藏的信息——如何用Python繪圖和製作數據分析報告