導航:首頁 > 編程語言 > 超市銷售數據分析報告python

超市銷售數據分析報告python

發布時間:2025-01-02 06:20:40

① 如何用python進行數據分析

1、Python數據分析流程及學習路徑

數據分析的流程概括起來主要是:讀寫、處理計算、分析建模和可視化四個部分。在不同的步驟中會用到不同的Python工具。每一步的主題也包含眾多內容。

根據每個部分需要用到的工具,Python數據分析的學習路徑如下:

相關推薦:《Python入門教程》

2、利用Python讀寫數據

Python讀寫數據,主要包括以下內容:

我們以一小段代碼來看:

可見,僅需簡短的兩三行代碼即可實現Python讀入EXCEL文件。

3、利用Python處理和計算數據

在第一步和第二步,我們主要使用的是Python的工具庫NumPy和pandas。其中,NumPy主要用於矢量化的科學計算,pandas主要用於表型數據處理。

4、利用Python分析建模

在分析和建模方面,主要包括Statsmdels和Scikit-learn兩個庫。

Statsmodels允許用戶瀏覽數據,估計統計模型和執行統計測試。可以為不同類型的數據和每個估算器提供廣泛的描述性統計,統計測試,繪圖函數和結果統計列表。

Scikit-leran則是著名的機器學習庫,可以迅速使用各類機器學習演算法

5、利用Python數據可視化

數據可視化是數據工作中的一項重要內容,它可以輔助分析也可以展示結果。

② 利用Python對天貓店鋪銷售進行分析.下

<p>相隔兩個月,爬蟲任務完成了。上次說道( 利用Python對天貓店鋪銷售進行分析.上 ),後續要完成四個功能,包括:</p>

<p>在上一個任務完成之後,任務的最後是通過crontab設置每天8點,13點,18點,23點,定時採集任務,而該篇內容的目的就是在每天23點最後一次任務完成之後,對該天採集的數據進行處理,時間設定在23點30分,也是採用crontab來定時開啟。</p>

<p>這個只要通過SQLite將每天收集的數據重新提取出來,由於我們的當天的銷售數據是收集在SCOUNT表格中,而數據的列名稱是依據時間來命名,為了獲得當天四個時間點採集的銷售數據,需要先獲得列名稱。</p>
<p>在SQLite裡面,可以通過 Pragma 獲得所有的列名稱信息,Pragma有兩個功能,包括更改內部操作以及獲得表格固有數據,通過其中的table_info,既可以獲得列名稱信息,所有列名稱信息獲得後,通過 list comprehensions (這個實在不知道怎麼翻譯),可以獲得今天的新生成的4個銷售數據列:</p>

<p>然後就是獲得進行的銷售數據,由於每個SKU一天將採集四次數據,並且收集的SKU有下架的可能,SKU列表中的不是每個SKU都有可能被採集,所以對採集出來需要的數據需要 dropna ,並且需要將SKU信息表格和銷售數據表格通過 merge 函數合並,形成我們需要的data。每個SKU在每個時刻採集的數據會出現波動,銷量數據並不是一個連續增長的過程,因此為了求得當天的銷量,可取一天中最大數和最小數差值。</p>

<p>生成銷售額的方法類似,就不在這里列出。</p>

<p>生成PDF,這是當時的一個設想,後來參考這篇 教程 做出來了( Practical Business Python 是個好網站,推薦),原理是通過DataFrame轉化為HTML,再將HTML轉化為PDF。但是寫郵件模塊的時候,發現郵件可以內嵌HTML,因此就沒有必要專門生成PDF,再通過郵件以附件的形式發送了。但在這里,還是先梳理下整個流程:</p>

<p>採用 Jinja2 生成PDF,首先需要生成一個模板,模板裡面需設定好HTML的樣式,這是參考教程寫出的一個HTML的樣式:</p>

<p>完成後,再將DataFrame通過 to_html 函數轉化為HTML並填入到樣式中。</p>

<p>最後生成PDF,只加入一個模塊喝一句話就可以了。 weasyprint 這個模塊是專門用於將HTML或者CSS轉化為PDF:</p>

<p>python裡面有專門的發送郵件模塊, email 模塊。郵件的模塊包括兩部分,一部分是郵件正文模塊,一部分郵件發送模塊:</p>

<p>郵件正文模塊,通過MIMEText完成。在email模塊裡面有專門的( MIME , Multipurpose Internet Mail Extensions,多用途互聯網郵件擴展)模塊,用來生成對應的郵件正文類型。在這里先採用文本模塊MIMEText做個示範:</p>

<p>然後就是發送郵件了,需要經過 stmplib 模塊,下面詳細講講。發送郵件首先需要設置 smtp (Simple Mail Transfer Protocol,簡單郵件傳輸協議)的地址和埠,然後部分郵箱需要採用TTS加密協議的時候,則需要使用starttts()函數。然後對應的是登陸的用戶名的密碼,再將上面編寫的msg發出去,最後quit即可。</p>

<p>總結下,之前設定的任務大體完成了。但是還是有很多可以深化的內容,例如前面採用DataFrame的時候,沒有對數據進行可視化,HTML的模板還可以再美化下,另外假如引入了數據可視化,要怎麼將可視化的圖片嵌入到郵件中。郵件登陸那部分,部分郵箱沒有辦法採用這個方法發出(需要再考慮smtp設置)。</p>

<p>上面這些問題,後續會繼續以小項目的形式進行研究。後面還可以進行平台之間的銷售情況對比等等,總而言之,該項目還是有很大的擴張空間的。嘛,這一次就先這樣結束吧。</p>

③ Python數據分析案例-葯店銷售數據分析

最近學習了Python數據分析的一些基礎知識,就找了一個葯品數據分析的小項目來練一下手。

數據分析的目的:

本篇文章中,假設以朝陽醫院2018年銷售數據為例,目的是了解朝陽醫院在2018年裡的銷售情況,通過對朝陽區醫院的葯品銷售數據的分析,了解朝陽醫院的患者的月均消費次數,月均消費金額、客單價以及消費趨勢、需求量前幾位的葯品等。

數據分析基本過程包括:獲取數據、數據清洗、構建模型、數據可視化以及消費趨勢分析。

數據准備

數據是存在Excel中的,可以使用pandas的Excel文件讀取函數將數據讀取到內存中,這里需要注意的是文件名和Excel中的sheet頁的名字。讀取完數據後可以對數據進行預覽和查看一些基本信息。

獲取數據:朝陽醫院2018年銷售數據.xlsx(非真實數據) 提取碼: 6xm2

導入原始數據

數據准備

數據是存在Excel中的,可以使用pandas的Excel文件讀取函數將數據讀取到內存中,這里需要注意的是文件名和Excel中的sheet頁的名字。讀取完數據後可以對數據進行預覽和查看一些基本信息。

獲取數據:朝陽醫院2018年銷售數據.xlsx(非真實數據) 提取碼: 6xm2

導入原始數據

數據清洗

數據清洗過程包括:選擇子集、列名重命名、缺失數據處理、數據類型轉換、數據排序及異常值處理

(1)選擇子集

在我們獲取到的數據中,可能數據量非常龐大,並不是每一列都有價值都需要分析,這時候就需要從整個數據中選取合適的子集進行分析,這樣能從數據中獲取最大價值。在本次案例中不需要選取子集,暫時可以忽略這一步。

(2)列重命名

在數據分析過程中,有些列名和數據容易混淆或產生歧義,不利於數據分析,這時候需要把列名換成容易理解的名稱,可以採用rename函數實現:

(3)缺失值處理

獲取的數據中很有可能存在缺失值,通過查看基本信息可以推測「購葯時間」和「社保卡號」這兩列存在缺失值,如果不處理這些缺失值會干擾後面的數據分析結果。

缺失數據常用的處理方式為刪除含有缺失數據的記錄或者利用演算法去補全缺失數據。

在本次案例中為求方便,直接使用dropna函數刪除缺失數據,具體如下:

(4)數據類型轉換

在導入數據時為了防止導入不進來,會強制所有數據都是object類型,但實際數據分析過程中「銷售數量」,「應收金額」,「實收金額」,這些列需要浮點型(float)數據,「銷售時間」需要改成時間格式,因此需要對數據類型進行轉換。

可以使用astype()函數轉為浮點型數據:

在「銷售時間」這一列數據中存在星期這樣的數據,但在數據分析過程中不需要用到,因此要把銷售時間列中日期和星期使用split函數進行分割,分割後的時間,返回的是Series數據類型:

此時時間是沒有按順序排列的,所以還是需要排序一下,排序之後索引會被打亂,所以也需要重置一下索引。

其中by:表示按哪一列進行排序,ascending=True表示升序排列,ascending=False表示降序排列

先查看數據的描述統計信息

通過描述統計信息可以看到,「銷售數量」、「應收金額」、「實收金額」這三列數據的最小值出現了負數,這明顯不符合常理,數據中存在異常值的干擾,因此要對數據進一步處理,以排除異常值的影響:

數據清洗完成後,需要利用數據構建模型(就是計算相應的業務指標),並用可視化的方式呈現結果。

月均消費次數 = 總消費次數 / 月份數(同一天內,同一個人所有消費算作一次消費)

月均消費金額 = 總消費金額 / 月份數

客單價 = 總消費金額 / 總消費次數

從結果可以看出,每天消費總額差異較大,除了個別天出現比較大筆的消費,大部分人消費情況維持在1000-2000元以內。

接下來,我銷售時間先聚合再按月分組進行分析:

結果顯示,7月消費金額最少,這是因為7月份的數據不完整,所以不具參考價值。

1月、4月、5月和6月的月消費金額差異不大.

2月和3月的消費金額迅速降低,這可能是2月和3月處於春節期間,大部分人都回家過年的原因。

d. 分析葯品銷售情況

對「商品名稱」和「銷售數量」這兩列數據進行聚合為Series形式,方便後面統計,並按降序排序:

截取銷售數量最多的前十種葯品,並用條形圖展示結果:

結論:對於銷售量排在前幾位的葯品,醫院應該時刻關注,保證葯品不會短缺而影響患者。得到銷售數量最多的前十種葯品的信息,這些信息也會有助於加強醫院對葯房的管理。

每天的消費金額分布情況:一橫軸為時間,縱軸為實收金額畫散點圖。

結論: 從散點圖可以看出,每天消費金額在500以下的占絕大多數,個別天存在消費金額很大的情況。

</article>

閱讀全文

與超市銷售數據分析報告python相關的資料

熱點內容
單片機啟動代碼 瀏覽:438
16進制單片機數字代碼 瀏覽:188
中國銀行程序員加班嗎 瀏覽:520
重命名如何轉換文件夾 瀏覽:768
伺服器賬號怎麼做 瀏覽:860
android訪問api 瀏覽:890
app製作網站源碼 瀏覽:975
社保pdf 瀏覽:159
php條件顯示 瀏覽:322
安卓玩什麼軟體好 瀏覽:129
java如何導出 瀏覽:22
俱樂部源碼棋牌 瀏覽:355
印度的19乘19演算法 瀏覽:195
中國移動app專屬流量如何取消 瀏覽:669
駕考app題庫怎麼導出來 瀏覽:682
與網頁伺服器連接發送什麼代碼 瀏覽:373
沒有伺服器怎麼弄博客 瀏覽:581
如何用vc編譯c語言 瀏覽:327
PDF下載的文件 瀏覽:505
常熟電信程序員有編制嗎 瀏覽:152