使用numpy和pandas對銷售數據進行分析
假設自己是一名醫藥行業的從業人員,現在手上有一份原始的醫藥數據。我一直認為一個好的數據分析同時也要對業務有深刻的認識。本文主要模擬實際工作中會遇到的事情,讓數據分析不止停留在數據操作的層面上。
本文會在PYTHON中進行操作,在操作中了解數據分析的知識;在數據分析中熟悉操作。
首先在python中安裝xlrd這個包,然後打開jupyter notebook,導入pandas。
在python中導入銷售數據,並查看前幾行數據確保數據運行正常。
一.提出問題
作為醫藥行業的銷售,有幾個基礎指標是他們最關心的:a.月均消費次數 b.月均銷售金額 c.客單價 d.消費趨勢
二.理解數據
理解數據我認為這是在業務方面的知識,有一些數據的問題不是數據本身的錯誤而是在這個環境中不可能出現這種情況,比方說社保卡號長度不對,實收金額是負數等等。
三.數據清洗
一份原始的數據想要進行分析就需要數據清洗工作,關於數據清洗工作大致可以分為幾個步驟且適用於一般情況。
(1)選擇子集
在一份數據中會包含各種信息,我們需要篩選出對我們有用的信息。
這時候我們需要用到loc函數name=xxx.loc[首行:末行,首列名:末列名]
(2)列名重命名
通過字典的方法定義新的對應關係Dict={舊列名:新列名,inplace=True}
inplace=False,數據框本身不會變,而會創建一個改動後新的數據框,默認情況下是False
inplace=True,數據框本身會改動
改動前
改動後
(3)缺失數據處理
本文對於缺失數據用的是刪除的方法。使用.dropna()公式。
.dropna(subset[首列,末列],how=any)
how=any代表在給定的任何一列中有缺失值就刪除
(4)數據類型轉換
因為原始數據的數據類型我們並不確定,所以我們都需要對原始數據進行數據類型轉換
我們統一把數據類型轉換成浮點型數據。
salesDf[銷售數量]=salesDf[銷售數量].astype(float)
對於銷售日期我們需要進行字元串分割
這裡需要注意的是,轉換數據的時候不符合格式會被轉換成空值,所以需要刪除空值。
(5)數據排序
排序我們有兩個基本規則,一是按照哪列排序,二是怎麼排序。
(6)刪除異常值
在本案例中銷售數量是不可能小於0的,所以剔除所有小於0的值
四.構建模型
a.月均消費次數
月均消費次數=總消費次數/月份數
b.月均銷售金額
c.客單價
d.消費趨勢
推薦閱讀:
※用腳本構建的程序是怎麼保持後期重構的健壯性的?
※初學python--小腳本解決大問題(實時推送閑魚某關鍵詞最新動態)
※全棧 - 8 爬蟲 使用urllib2獲取數據
※python+kivy學起來有意思嗎?