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 運算符 | 菜鳥教程?

www.runoob.com

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

pandas.pydata.org/panda

  • querySer

數據清洗結束之後,對課程中要求的幾個業務指標進行計算,代碼如下:

這個藥店數據集的處理就結束了,完成了用python處理數據的基本流程。

我會繼續寫猴子老師課程的學習筆記,對數據進行深入的分析。


推薦閱讀:

這是一份數據分析求職指南--當我爬取拉勾、前程無憂、Boss直聘後
大數據分析課程怎麼學習?大數據分析課程
離散、連續概率分布小結+python中的應用
七周數據分析師:第二周業務篇,有關業務思維的學習。
數據可視化,透視隱藏的信息——如何用Python繪圖和製作數據分析報告

TAG:數據分析 | 銷售數據 | 互聯網 | 數據分析師 |