數據可視化與分析

數據可視化的目的是為了數據分析,而非僅僅是數據的圖形化展示。

項目介紹

項目案例為電商雙11美妝數據分析,分析品牌銷售量、性價比等。

數據集包括更新日期、ID、title、品牌名、克數容量、價格、銷售數量、評論數量、店名等信息。

1、數據初步了解

運行結果

數據預處理

使用pandas庫進行數據預處理,包括查看數據特征、處理缺失值和重復值。


df.describe() #查看各數字類型特征的一些統計量

處理缺失值的方法包括填充(如用0填充)和刪除空行。

data = df.drop_duplicates(inplace = False)##去重
data.reset_index(inplace = True,drop = True)##重置行索引
data.shape

處理重復值需有充分理由,確保刪除的是無效重復數據。

data=data.fillna(0) #用0填補缺失值
data.isnull().any() #查看是否還有空值

數據分類

創建主類別和子類別,基于數據集中的關鍵詞進行分類。

關鍵詞如“美白乳”、“潤膚乳”等屬于乳液類。

分類字典包含關鍵字、主類別和子類別。

性別分類

新增“是否為男士專用”列,通過檢測關鍵詞如“男士”、“男生”等進行分類。

銷售額計算

銷售額通過銷售量和銷售單價相乘得出。

新增“銷售額”列,并計算各店鋪的銷售情況。

data['銷售額'] = data.price * data.sale_count
data.head()

數據可視化

繪制各店鋪商品數量、銷量、總銷售額和平均單價的圖表。

import matplotlib.pyplot as plt 
%matplotlib inline
plt.rcParams['font.sans-serif'] = [u'SimHei'] ##顯示中文,設置字體
plt.rcParams['axes.unicode_minus'] = False ##顯示符號
plt.figure(figsize = (12,10))
# 各店鋪的商品數量
plt.subplot(2,2,1)
plt.tick_params(labelsize=15)
data['店名'].value_counts().sort_values().plot.bar()
plt.title('各品牌商品數',fontsize = 20)
plt.ylabel('商品數量',fontsize = 15)
plt.xlabel('店名')#  各店鋪的銷量
plt.subplot(2,2,2)
plt.tick_params(labelsize=15)
data.groupby('店名').sale_count.sum().sort_values().plot.bar()
plt.title('各品牌所有商品的銷量',fontsize = 20 )
plt.ylabel('商品總銷量',fontsize = 15)#各店鋪總銷售額
plt.subplot(2,2,3)
plt.tick_params(labelsize=15)
data.groupby('店名')['銷售額'].sum().sort_values().plot.bar()
plt.title('各品牌總銷售額', fontsize = 20)
plt.ylabel('商品總銷售額' , fontsize = 15)
#旋轉顯示plt.xticks(rotation=45)##補充繪圖,挖掘數據,各品牌的平均每單單價,三個銷量為0的品牌暫時不考慮
plt.subplot(2,2,4)
plt.tick_params(labelsize = 15)
avg_price=data.groupby('店名')['銷售額'].sum()/data.groupby('店名').sale_count.sum() ###每個品牌售出的商品的平均單價
avg_price.sort_values().plot.bar()
plt.title('各品牌平均每單單價', fontsize = 20)
plt.ylabel('售出商品的平均單價' , fontsize = 15)
##自適應調整子圖間距
plt.tight_layout()

使用柱形圖和餅圖展示數據,并將按價格區間將商品分為ABCD四類,并繪制銷售額占比圖。

A=avg_price[(avg_price <= 100) & (avg_price > 0) ].index
B=avg_price[(avg_price <= 200) & (avg_price > 100) ].index
C=avg_price[(avg_price <= 300) & (avg_price > 200) ].index
D=avg_price[avg_price > 300 ].index
#四類ABCD分別代表0-100,100-200,200-300,300以上平均單價區間的各品牌
sum_sale=data.groupby('店名')['銷售額'].sum()
plt.figure(figsize = (16,8))
plt.tick_params(labelsize=10)###各類、各品牌的銷售額占比
plt.subplot(1,2,1)
sum_sale_byprice=sum_sale[A].sort_values().append(sum_sale[B].sort_values()).append(sum_sale[C].sort_values()).append(sum_sale[D].sort_values())
plt.pie(x=sum_sale_byprice,labels =sum_sale_byprice.index ,colors = ['grey']*len(A)+['g']*len(B)+['y']*len(C)+['m']*len(D),autopct='%0f%%',pctdistance=0.9)###各類的平均每個店銷售額
plt.subplot(1,2,2)
plt.tick_params(labelsize = 15)
plt.bar('均價0-100元',np.mean(sum_sale[A]),color = 'grey')
plt.bar('均價100-200元',np.mean(sum_sale[B]),color = 'g')
plt.bar('均價200-300元',np.mean(sum_sale[C]),color = 'y')
plt.bar('均價300元以上',np.mean(sum_sale[D]),color = 'm')
plt.title('不同類別的平均每個店銷售額',fontsize = 20)
plt.ylabel('平均銷售額',fontsize = 20)plt.tight_layout()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904364.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904364.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904364.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

美團Java高級配送員面經分享|玩梗版

美團Java高級配送員面經分享&#xff01;純玩梗&#xff01;

在windows中卸載mysql

一、停止服務 winR快捷鍵 -->> 輸入services.msc -->> 進入服務窗口關閉Mysql服務 二、卸載程序&#xff08;可選&#xff09; 如果是通過解壓壓縮包安裝的則跳過這一步&#xff0c;如果是使用.msi文件驅動安裝則需要卸載 控制面板 -->> 程序和功能 -->…

https://juejin.cn/editor/drafts/7262346366541070395

.Net Core從零學習搭建權限管理系統教程 推薦一組WPF自定義控件開源項目。 項目簡介 這是基于WPF開發的&#xff0c;為開發人員提供了一組方便使用自定義組件&#xff0c;并提供了各種常用的示例。 包含組件&#xff1a;數據表格、屬性列表、樹形列表、選色器、單選框列表、…

三、網絡管理

網絡管理 一、IP地址 原理&#xff1a; 定義與作用&#xff1a;IP 地址是互聯網協議地址&#xff0c;用于在網絡中唯一標識一臺設備。它如同現實生活中的家庭住址&#xff0c;確保數據能準確無誤地從源設備傳輸到目標設備。地址分類&#xff1a;IP 地址分為 IPv4 和 IPv6 兩種…

Auto.js 腳本:清理手機數據但保留賬號

Auto.js 腳本&#xff1a;清理手機數據但保留賬號 以下是一個使用 Auto.js 實現的腳本&#xff0c;它可以幫你清理手機數據&#xff08;類似恢復出廠設置&#xff09;&#xff0c;同時盡可能保留已登錄的賬號狀態。請注意&#xff0c;這個腳本不能完全等同于真正的恢復出廠設置…

LeetCode 熱題 100 279. 完全平方數

LeetCode 熱題 100 | 279. 完全平方數 大家好&#xff0c;今天我們來解決一道經典的動態規劃問題——完全平方數。這道題在 LeetCode 上被標記為中等難度&#xff0c;要求找到和為給定整數 n 的完全平方數的最少數量。 問題描述 給定一個整數 n&#xff0c;返回和為 n 的完全…

【coze】手冊小助手(提示詞、知識庫、交互、發布)

【coze】手冊小助手&#xff08;提示詞、知識庫、交互、發布&#xff09; 1、創建智能體2、添加提示詞3、創建知識庫4、測試智能體5、添加交互功能6、發布智能體 1、創建智能體 2、添加提示詞 # 角色 你是幫助用戶搜索手冊資料的AI助手 ## 工作流程 ### 步驟一:查詢知識庫 1.每…

一個基于Asp.Net Core + Angular + Bootstrap開源CMS系統

從零學習構建一個完整的系統 推薦一個功能強大、易于擴展、安全可靠的開源內容管理系統&#xff0c;適用于各種類型和規模的網站。 項目簡介 MixCoreCMS是一個基于.NET Core框架的開源內容管理系統&#xff08;CMS&#xff09;&#xff0c;提供了豐富的的基礎功能和插件&…

【Python】常用命令提示符

Python常用的命令提示符 一、Python環境基礎命令【Windows】 于Windows環境下&#xff0c;針對Python&#xff0c;在CMD&#xff08;命令提示符&#xff09;常用的命令以及具體用法&#xff0c;怎么用&#xff1b; ??主要包含&#xff1a;運行腳本、包管理、虛擬環境、調試與…

提示詞優化:檢索歷史提示確定方向→生成候選提示并控制修改幅度→基于準確率迭代優化

提示詞優化器 Unleashing the Potential of Large Language Models as Prompt Optimizers: Analogical Analysis with Gradient - based Model Optimizers 《Unleashing the Potential of Large Language Models as Prompt Optimizers: Analogical Analysis with Gradient - …

如何設計一個網頁計算器?—— 從需求分析到測試的全流程

1. 需求分析與功能設計 核心功能 基礎運算:+ - * / 高級運算:% (取模)、^ (冪運算)、√ (開平方) 記憶功能:M+ (累加)、M- (累減)、MR (讀取)、MC (清除) 交互優化: 支持鍵盤輸入(0-9、Enter、Backspace) 實時計算(類似 Google 計算器,輸入 2+3= 自動顯示 5) 錯誤處理…

基于RT-Thread的STM32F4開發第二講第一篇——ADC

文章目錄 前言一、RT-Thread工程創建二、ADC工程創建三、ADC功能實現1.ADC.c2.ADC.h3.mian.c 四、效果展示和工程分享總結 前言 ADC是什么不多講了&#xff0c;前面裸機操作部分有很多講述。我要說的是RT-Thread對STM32的ADC外設的適配極其不好&#xff0c;特別是STM32G4系類&…

FoMo 數據集是一個專注于機器人在季節性積雪變化環境中的導航數據集,記錄了不同季節(無雪、淺雪、深雪)下的傳感器數據和軌跡信息。

2025-05-02&#xff0c;由加拿大拉瓦爾大學北方機器人實驗室和多倫多大學機器人研究所聯合創建的 FoMo 數據集&#xff0c;目的是研究機器人在季節性積雪變化環境中的導航能力。該數據集的意義在于填補了機器人在極端季節變化&#xff08;如積雪深度變化&#xff09;下的導航研…

vue3+ts繼續學習

我們再寫點東西&#xff0c;這里面都是vue2的語法&#xff0c;應該都能看明白&#xff01;我們寫完直接去運行一下代碼&#xff01; 發現什么都沒有發生&#xff01;為什么呢&#xff1f;因為我們在App.vue中沒有引入&#xff01;哈哈哈哈&#xff01;這樣就好了&#xff01;注…

LIO-Livox

用單臺Livox Horizon (含內置IMU) 實現高魯棒性的激光-慣性里程計&#xff0c;可在各類極端場景下魯棒運行&#xff0c;并達到高精度的定位和建圖效果。(城區擁堵、高速公路、幽暗隧道) 注&#xff1a;該系統主要面向大型室外環境中的汽車平臺設計。用戶可以使用 Livox Horizo…

day18-API(常見API,對象克隆)

課程目標 能夠熟練使用Math類中的常見方法 能夠熟練使用System類中的常見方法 能夠理解Object類的常見方法作用 能夠熟練使用Objects類的常見方法 能夠熟練使用BigInteger類的常見方法 能夠熟練使用BigDecimal類的常見方法 1 Math類 1.1 概述 tips&#xff1a;了解內容…

用OMS從MySQL遷移到OceanBase,字符集utf8與utf8mb4的差異

一、問題背景 在一次從MySQL數據庫遷移到OceanBase的MySQL租戶過程中&#xff0c;出現了一個轉換提示&#xff1a; [WARN][CONVER] he table charset:utf8->utf8mb4&#xff0c; 你可能會擔心這種轉換可能導致字符集不兼容的問題。但通過查閱相關資料可知&#xff0c;utf8m…

MATLAB中tabulate函數——先驗概率的簡單估計

load fisheriris X meas(:,1:2); Y species; labels unique(Y); tabulate(Y)ValueCountPercentsetosa5033.33%versicolor5033.33%virginica5033.33%

《Python星球日記》第28天:數據獲取與可視化(綜合項目)

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder??) 專欄:《Python星球日記》,限時特價訂閱中ing 目錄 一、項目概述二、數據獲取1. 準備工作2. 使用 `requests` 獲取網頁內容3. 使用 `BeautifulSoup`…

基于深度學習的圖像識別技術:從原理到應用

前言 在當今數字化時代&#xff0c;圖像識別技術已經滲透到我們生活的方方面面&#xff0c;從智能手機的人臉解鎖功能到自動駕駛汽車對交通標志的識別&#xff0c;再到醫療影像診斷中的病變檢測&#xff0c;圖像識別技術正以其強大的功能和廣泛的應用前景&#xff0c;改變著我們…