基礎數據分析——案例分析1(藥品銷售數據分析)
掌握了一些基礎概念與模塊的使用後,接下來進入到讓自己最有成就感的部分,案例實踐!
首先,把事情做好的基本套路要先熟悉,只有清晰的邏輯步驟才能確保目標的快速準確的達成。
數據分析基本步驟:
1 提出問題
通過Excel表中的數據完成如下業務指標的分析:
1)月均消費次數,2)月均消費金額,3)客單價,4)消費趨勢數據清洗的基本步驟:
2 理解數據
首先知道我們手中拿到的是什麼數據?——>>所列的數據欄位都具有什麼業務含義?——>>如何使用這些數據達成分析目標?
我們還是用pandas數據包進行數據分析
通過Excel數據導入到pandas中查詢獲取數據的欄位信息,同時查看數據總量6578行數據,7列數據欄位,數據類型均為「object」
3 數據清洗
從獲取數據到使用數據中間必須要完成且非常重要的一個環節就是數據清洗,有效的數據清洗不僅能確保分析目標的實現,同時能夠大大的提高數據分析效率以及延展性分析能力。
當然數據清洗也是有套路可循的,按照步驟一步步完成後就可以得到可供分析使用的正式數據了。
a) 在pandas二維數組中通過*.loc命令來選取數據範圍;*.rename命令來對列進行重命名
b) 通過*.dropna(subset=[*],how=*)命令來刪除預設值,為了後續的數據計算將字元串數據類型轉換成浮點型數據,通過*.astype(float)命令來完成
C)對於「銷售時間」這列需要轉化成日期格式,以便後續統計時間範圍等信息。首先通過*.split()命令來將字元串進行分割,以便格式轉換後僅保留有用數據信息
因為「銷售日期」列所包換的數據條數較多,因此自定義函數進行的欄位分割。
完成數據分割後將字元串轉換成日期類型,通過*.to_datetime( 轉換數據,format=%Y-%m-%d, errors=coerce) #errors=coerce 如果原始數據不符合日期的格式,轉換後的值為空值NaT。最後通過命令*.dtype(),查看數據類型是否轉換成功。
d)經過數據類型轉換後有可能會出現空值的情況,因此需要對缺失數據進行清理,並對清理完的數據進行排序*.sort_values(by=銷售時間, ascending=True,True代表升序,False代表降序。通過命令*.reset_index(drop=True)更新行號。
e)異常值處理
數據清洗的最後環節就是異常值的處理,首先通過條件判斷篩選出異常值,然後對確認的異常數據進行進一步的處理
4 構建數據分析模型
為達到業務分析目標,首先需要完成獲取一些數據統計結果。
4.1 業務指標1:月均消費次數=總消費次數/總月數
命令*.drop_duplicates(subset=[銷售時間,社保卡號])來篩選業務含義的唯一數據。
命令daysI=(endTime-startTime).days統計天數
命令monthsI=daysI//30,整除獲取月份
4.2 業務指標2:月均消費金額
4.3 業務指標3:月均消費金額
推薦閱讀:
※SQL(mysql)思維導圖
※互聯網數據分析的思路、方法、數據來源和分析指標
※數據分析師職業規劃與學習路徑
※離散、連續概率分布小結+python中的應用
※他是如何用批判性思維改變命運的