利用Python进行数据分析之超市零售分析
| Author | Bryce230 |
|---|---|
| iswangjt@163.com | |
| Software | win10,Pycharm2019.3.3,Python3.7.7,jupyter notebook |
超市零售數(shù)據(jù)分析
- 1 背景與需求
- 2 數(shù)據(jù)收集與整合
- 3 數(shù)據(jù)清洗
- 4 數(shù)據(jù)分析及可視化
-
- 4.1 銷售情況分析
-
- 4.1.1 銷售額分析
- 4.1.2 銷量分析
- 4.1.3 利潤分析
- 4.1.4 客單價分析
- 4.1.5 市場布局分析
- 4.2 商品情況分析
-
- 4.2.1 銷量前10名的商品
- 4.2.2 銷售額前10名的商品
- 4.2.3 利潤前10的商品
- 4.2.4 商品種類銷售情況
- 4.3 用戶情況分析
-
- 4.3.1 不同類型的用戶占比
- 4.3.2 用戶下單行為分析
- 4.3.3 RFM模型分析
- 4.3.4 新用戶、活躍用戶、不活躍用戶和回歸用戶分析
- 4.3.5 復(fù)購率和回購率分析
- 5 總結(jié)
- 6 參考資料
1 背景與需求
本文主要對一家全球超市四年(2011-2014)的銷售數(shù)據(jù)進(jìn)行銷售情況分析、商品情況分析和用戶情況分析,并給出提升銷量的建議。(本文基于參考資料[2],在其基礎(chǔ)上做了進(jìn)一步的分析,并得出詳細(xì)的結(jié)論)
銷售情況分析:銷售額、銷量、利潤、客單價和市場布局等情況分析;
商品情況分析:商品結(jié)構(gòu)、優(yōu)勢商品、劣勢/待優(yōu)化商品等情況分析;
用戶情況分析:客戶數(shù)量、新老客戶、RFM模型、復(fù)購率和回購率等情況分析。
2 數(shù)據(jù)收集與整合
數(shù)據(jù)來源于kaggle平臺,是一份全球大型超市四年的零售數(shù)據(jù)集,共有51290條數(shù)據(jù),共24個特征。想獲取原始數(shù)據(jù)集,見參考資料。
整合數(shù)據(jù):
# 加載數(shù)據(jù)分析需要使用的庫
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warningsplt.rcParams['font.sans-serif'] = ['SimHei']
warnings.filterwarnings('ignore')#數(shù)據(jù)加載和整合
# 加載零售數(shù)據(jù)集,使用'ISO-8859-1'編碼方式
df = pd.read_csv('superstore_dataset2011-2015.csv',encoding='ISO-8859-1')
df.head()
#數(shù)據(jù)大小
df.shape
#數(shù)據(jù)分布情況
df.describe()
3 數(shù)據(jù)清洗
1)改寫不符合規(guī)則的列名,統(tǒng)一采用下劃線格式
#重命名列名
df.rename(columns = lambda x: x.replace(' ', '_').replace('-', '_'), inplace=True)
2)將下單日期改為datetime類型
df["Order_Date"] = pd.to_datetime(df["Order_Date"])
3)方便后續(xù)的分析,新增加年份列和月份列
df['year'] = df["Order_Date"].dt.year
df['month'] = df['Order_Date'].values.astype('datetime64[M]')
4)郵編信息一列缺失太多,且對后續(xù)分析無影響,直接刪除
#查看缺失值
df.isnull().sum(axis=0)
#刪除郵編信息列
df.drop(["Postal_Code"],axis=1, inplace=True)
5)查看有無異常值
#異常值處理
df.describe() #無異常,不需要處理
#重復(fù)值處理
df.duplicated().sum() #無重復(fù)值,不需要處理
4 數(shù)據(jù)分析及可視化
4.1 銷售情況分析
構(gòu)建銷售情況子數(shù)據(jù)集,并按照年份、月份對銷售子數(shù)據(jù)集進(jìn)行分組求和。
# 整體銷售情況子數(shù)據(jù)集,包含下單日期、銷售額、銷量、利潤、年份、月份信息
sales_data = df[['Order_Date','Sales','Quantity','Profit','year','month']]#按照年份、月份對銷售子數(shù)據(jù)集進(jìn)行分組求和
sales_year = sales_data.groupby(['year','month']).sum()
部分結(jié)果如下:
Sales Quantity Profit
year month
2011 2011-01-01 138241.30042 2178 13457.233022011-02-01 134969.94086 1794 17588.837262011-03-01 171455.59372 2183 16169.360622011-04-01 128833.47034 2181 13405.469242011-05-01 148146.72092 2057 14777.457922011-06-01 189338.43966 2715 25932.877962011-07-01 162034.69756 2266 10631.844062011-08-01 219223.49524 2909 19650.671242011-09-01 255237.89698 3357 32313.254582011-10-01 204675.07846 2615 30745.541662011-11-01 214934.29386 3165 21261.405362011-12-01 292359.96752 4023 33006.85862
對以上數(shù)據(jù)進(jìn)行拆分,每年為一個表
year_2011 = sales_year.loc[(2011,slice(None)),:].reset_index()
year_2012 = sales_year.loc[(2012,slice(None)),:].reset_index()
year_2013 = sales_year.loc[(2013,slice(None)),:].reset_index()
year_2014 = sales_year.loc[(2014,slice(None)),:].reset_index()
4.1.1 銷售額分析
#銷售額分析
sales=pd.concat([year_2011['Sales'],year_2012['Sales'],year_2013['Sales'],year_2014['Sales']],axis=1)# 對行名和列名進(jìn)行重命名
sales.columns=['Sales-2011','Sales-2012','Sales-2013','Sales-2014']
sales.index=['Jau','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']# 顏色越深,銷售額越高
sales.style.background_gradient()
從上面的銷售額表可以得出,下半年的銷售額明顯好于上半年,且逐年遞增。
計算每年的銷售總額及增長率并繪圖顯示:
sales_sum=sales.sum()
sales_sum.plot(kind='bar',alpha=0.5)
plt.grid()# 計算每年增長率
rise_12=sales_sum[1]/sales_sum[0]-1
rise_13=sales_sum[2]/sales_sum[1]-1
rise_14=sales_sum[3]/sales_sum[2]-1
rise_rate=[0,rise_12,rise_13,rise_14]# 顯示增長率
sales_sum=pd.DataFrame({'sales_sum':sales_sum})
sales_sum['rise_rate']=rise_rate
從上圖可以看出,銷售額是逐年遞增的,2014的銷售額接近于2011年的兩倍,說明公司發(fā)展勢頭很好。接著了解每月的銷售額情況,用面積圖顯示
sales.plot.area(stacked=False)
從圖中可以看出,在一年中,銷售額基本呈現(xiàn)整體遞增趨勢,下半年好于上半年。
因此,下半年運營推廣等策略要繼續(xù)維持,還可以加大投入,提高整體銷售額;而在上半年,可以結(jié)合產(chǎn)品特點進(jìn)行新產(chǎn)品拓展,舉辦一些促銷活動等吸引客戶。
4.1.2 銷量分析
構(gòu)建銷量表并遞增顯示
#銷量分析
quantity = pd.concat([year_2011['Quantity'],year_2012['Quantity'],year_2013['Quantity'],year_2014['Quantity']],axis=1)# 對行名和列名進(jìn)行重命名
quantity.columns=['Quantity-2011','Quantity-2012','Quantity-2013','Quantity-2014']
quantity.index=['Jau','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']# 顏色越深,銷量越高
quantity.style.background_gradient()
計算銷量增長率和每年的銷量總和
# 計算年度銷量并圖表展示
quantity_sum=quantity.sum()
quantity_sum.plot(kind='bar',alpha=0.5)
plt.grid()# 計算每年增長率
rise_12=quantity_sum[1]/quantity_sum[0]-1
rise_13=quantity_sum[2]/quantity_sum[1]-1
rise_14=quantity_sum[3]/quantity_sum[2]-1
rise_rate=[0,rise_12,rise_13,rise_14]# 顯示增長率
quantity_sum=pd.DataFrame({'quantity_sum':quantity_sum})
quantity_sum['rise_rate']=rise_rate
與銷售額趨勢一致,銷量也是下半年好于上半年,且逐年遞增。
4.1.3 利潤分析
構(gòu)建利潤表
profit=pd.concat([year_2011['Profit'],year_2012['Profit'],year_2013['Profit'],year_2014['Profit']],axis=1)
profit.columns=['Profit-2011','Profit-2012','Profit-2013','Profit-2014']
profit.index=['Jau','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']profit.style.background_gradient()
結(jié)果如下:
計算每年總利潤和利潤率
profit_sum=profit.sum()
profit_sum.plot(kind='bar',alpha=0.5)
plt.grid()profit_sum=pd.DataFrame({'profit_sum':profit_sum})
profit_sum["year"] = [2011, 2012, 2013, 2014]sales_sum=pd.DataFrame({'sales_sum':sales.sum()})
sales_sum["year"] = [2011, 2012, 2013, 2014]profit_sum = pd.merge(profit_sum, sales_sum)
profit_sum["profit_rate"] = profit_sum["profit_sum"] / profit_sum["sales_sum"]
利潤變化和銷售額、銷量變化一致,下半年利潤高于上半年,逐年在遞增。說明公司近幾年持續(xù)收益很高,發(fā)展很不錯。
4.1.4 客單價分析
客單價(per customer transaction)是指商場(超市)每一個顧客平均購買商品的金額,也即是平均交易金額。(百度百科)
客單價的計算公式是:客單價=銷售額÷成交顧客數(shù)。
> # 2011-2014年客單價
for i in range(2011,2015):data=df[df['year']==i]price=data[['Order_Date','Customer_ID','Sales']]# 計算總消費次數(shù)price_dr=price.drop_duplicates(subset=['Order_Date', 'Customer_ID'])# 總消費次數(shù):有多少行total_num=price_dr.shape[0]print('{}年總消費次數(shù)='.format(i),total_num)unit_price = price['Sales'].sum()/total_numprint('{}年客單價='.format(i), unit_price,'\n')------------------------------------------------------------------------------
2011年總消費次數(shù)= 4453
2011年客單價= 507.3997070604087 2012年總消費次數(shù)= 5392
2012年客單價= 496.55762136498515 2013年總消費次數(shù)= 6753
2013年客單價= 504.3308824788983 2014年總消費次數(shù)= 8696
2014年客單價= 494.4647965225392
從輸出結(jié)果來看,總消費次數(shù)呈現(xiàn)逐年遞增的趨勢,但是客單價保持在500左右不變。
4.1.5 市場布局分析
分析不同地區(qū)之間的銷售情況
Market_Year_Sales = df.groupby(['Market', 'year']).agg({'Sales':'sum'}).reset_index().rename(columns={'Sales':'Sales_amounts'})
Market_Year_Sales.head()sns.barplot(x='Market', y='Sales_amounts', hue='year', data = Market_Year_Sales)
plt.title('2011-2014 market sales')
不管在哪個地區(qū),銷售額呈現(xiàn)逐年遞增的趨勢。
計算各個地區(qū)銷售額占總銷售額的百分比
Market_Sales = df.groupby(['Market']).agg({'Sales':'sum'})
Market_Sales["percent"] = Market_Sales["Sales"] / df["Sales"].sum()
Market_Sales.style.background_gradient()
從圖表可以看出,每個地區(qū)每年銷售額總體處于上升趨勢,其中APAC(亞太地區(qū))、EU(歐盟)、US(美國)、LATAM(拉丁美洲)的銷售額超過了總銷售額的85%,總體也與地區(qū)的經(jīng)濟發(fā)展相匹配。其中加拿大Canada的銷售額微乎其微,可以結(jié)合公司整體戰(zhàn)略布局進(jìn)行取舍。
4.2 商品情況分析
4.2.1 銷量前10名的商品
productId_count = df.groupby('Product_ID').count()['Customer_ID'].sort_values(ascending=False)
print(productId_count.head(10))--------------------------------------
Product_ID
OFF-AR-10003651 35
OFF-AR-10003829 31
OFF-BI-10002799 30
OFF-BI-10003708 30
FUR-CH-10003354 28
OFF-BI-10002570 27
OFF-BI-10004140 25
OFF-BI-10004195 24
OFF-BI-10001808 24
OFF-BI-10004632 24
Name: Customer_ID, dtype: int64
4.2.2 銷售額前10名的商品
productId_amount = df.groupby('Product_ID').sum()['Sales'].sort_values(ascending=False)
print(productId_amount.head(10))
-----------------------------------
Product_ID
TEC-CO-10004722 61599.8240
TEC-PH-10004664 30041.5482
OFF-BI-10003527 27453.3840
TEC-MA-10002412 22638.4800
TEC-PH-10004823 22262.1000
FUR-CH-10002024 21870.5760
FUR-CH-10000027 21329.7300
OFF-AP-10004512 21147.0840
FUR-TA-10001889 20730.7557
OFF-BI-10001359 19823.4790
Name: Sales, dtype: float64
從結(jié)果可以看出,銷量最高的大部分是辦公用品,而銷售額最高的大部分是電子產(chǎn)品、家具這些單價較高的商品。
4.2.3 利潤前10的商品
productId_Profit= df.groupby('Product_ID').sum()['Profit'].sort_values(ascending=False)
print(productId_Profit.head(10))
------------------------------------
Product_ID
TEC-CO-10004722 25199.9280
OFF-AP-10004512 10345.5840
TEC-PH-10004823 8121.4800
OFF-BI-10003527 7753.0390
TEC-CO-10001449 6983.8836
FUR-CH-10002250 6123.2553
TEC-PH-10004664 5455.9482
OFF-AP-10002330 5452.4640
TEC-PH-10000303 5356.8060
FUR-CH-10002203 5003.1000
Name: Profit, dtype: float64
利潤最高的大部分是電子類產(chǎn)品。
4.2.4 商品種類銷售情況
# 根據(jù)商品種類和子種類,重新重合成一個新的種類
df['Category_Sub_Category'] = df[['Category','Sub_Category']].apply(lambda x:str(x[0])+'_'+str(x[1]),axis=1)
# 按照新的種類進(jìn)行分組,統(tǒng)計銷售額和利潤
df_Category_Sub_Category=df.groupby("Category_Sub_Category").agg({"Profit":"sum","Sales":"sum"}).reset_index()
# 按照銷售額倒序排序
df_Category_Sub_Category.sort_values(by=["Sales"],ascending=False, inplace=True)
# 每個種類商品的銷售額累計占比
df_Category_Sub_Category['cum_percent'] = df_Category_Sub_Category['Sales'].cumsum()/df_Category_Sub_Category['Sales'].sum()
df_Category_Sub_Category
從表中可以看出,有將近一半的商品的總銷售占比達(dá)到84%,大概率是自家優(yōu)勢主營產(chǎn)品,后續(xù)經(jīng)營中應(yīng)繼續(xù)保持,可以結(jié)合整體戰(zhàn)略發(fā)展適當(dāng)加大投入,逐漸形成自己的品牌。
需要關(guān)注的是,Tables(桌子)的利潤是負(fù),表明這個產(chǎn)品目前處于虧損狀態(tài),應(yīng)該是促銷讓利太多。通過檢查原數(shù)據(jù),發(fā)現(xiàn)Tabels大部分都在打折,打折的銷量高達(dá)76%。如果是在清庫存,這個效果還是不錯的,但如果不是,說明這個產(chǎn)品在市場推廣上遇到了瓶頸,或者是遇到強競爭對手,需要結(jié)合實際業(yè)務(wù)進(jìn)行分析,適當(dāng)改善經(jīng)營策略。
4.3 用戶情況分析
4.3.1 不同類型的用戶占比
df["Segment"].value_counts().plot(kind='pie', autopct='%.2f%%', shadow=True, figsize=(14, 6))
藍(lán)色部分最大,也就是說,普通用戶占比是最多的。
每一年不同類型的用戶數(shù)量情況
Segment_Year = df.groupby(["Segment", 'year']).agg({'Customer_ID':'count'}).reset_index()
sns.barplot(x='Segment', y='Customer_ID', hue='year', data = Segment_Year)
plt.title('2011-2014 Segment Customer')
從上圖可以看出,不管是哪種類型的用戶,每年都是呈現(xiàn)一個遞增的趨勢,這個勢頭很不錯。
不同類型的用戶每年貢獻(xiàn)的銷售額:
Segment_sales = df.groupby(["Segment", 'year']).agg({'Sales':'sum'}).reset_index()
sns.barplot(x='Segment', y='Sales', hue='year', data = Segment_sales)
plt.title('2011-2014 Segment Sales')
與用戶數(shù)量變化一樣,不管是哪種類型的用戶,用戶銷售額每年都是呈現(xiàn)一個遞增的趨勢。
4.3.2 用戶下單行為分析
獲取新的子數(shù)據(jù)集
grouped_Customer = df[['Customer_ID','Order_Date', 'Quantity', 'Sales', 'month']].sort_values(['Order_Date']).groupby('Customer_ID')
grouped_Customer.head()
用戶的第一次購買日期分布
grouped_Customer.min().Order_Date.value_counts().plot()
可以看出, 在2013年初以后新用戶增長的趨勢緩慢,長期來看,這不利于商家的發(fā)展,所以商家可以通過廣告等推廣策略吸收更多的新用戶。如果能夠在新客戶獲取上能夠突破,會給企業(yè)帶來很大的增長空間。
用戶的最后一次購買日期分布
grouped_Customer.max().Order_Date.value_counts().plot()
通過觀察最近一次購買日期,可以發(fā)現(xiàn)用戶基本沒有流失,也驗證了每年銷售額的增長趨勢。
只購買過一次的客戶數(shù)量
# 統(tǒng)計每個客戶第一次和最后一次購買記錄
Customer_life = grouped_Customer.Order_Date.agg(['min','max'])
# 查看只有一次購買記錄的顧客數(shù)量,第一次和最后一次是同一條記錄,則說明購買只有一次
(Customer_life['min'] == Customer_life['max']).value_counts()
-----------------------------------------------------
False 1580
True 10
dtype: int64
購買一次的用戶只有10位,說明該商家在維持老客方面做得很不錯,這也保證了商家的銷售額。
4.3.3 RFM模型分析
R是指用戶的最近一次消費時間,用最通俗的話說就是,用戶最后一次下單時間距今天有多長時間了,這個指標(biāo)與用戶流失和復(fù)購直接相關(guān)。
F是指用戶下單頻率,通俗一點兒就是,用戶在固定的時間段內(nèi)消費了幾次。這個指標(biāo)反映了用戶的消費活躍度。
M是指用戶消費金額,其實就是用戶在固定的周期內(nèi)在平臺上花了多少錢,直接反映了用戶對公司貢獻(xiàn)的價值。
而RFM模型就是通過一個客戶的近期購買行為、購買的總體頻率以及花了多少錢三項指標(biāo),來描述該客戶的價值狀況。
構(gòu)建RFM表
rfm = df.pivot_table(index='Customer_ID',values = ["Quantity","Sales","Order_Date"],aggfunc={"Quantity":"sum","Sales":"sum","Order_Date":"max"})# 所有用戶最大的交易日期為標(biāo)準(zhǔn),求每筆交易的時間間隔即為R
rfm['R'] = (rfm.Order_Date.max() - rfm.Order_Date)/np.timedelta64(1,'D')
# 每個客戶的總銷量即為F,總銷售額即為M
rfm.rename(columns={'Quantity':'F','Sales':'M'},inplace = True)
rfm.head()
對客戶價值進(jìn)行標(biāo)注,將客戶分為8個等級
# 基于平均值做比較,超過均值為1,否則為0
rfm[['R','F','M']].apply(lambda x:x-x.mean())def rfm_func(x):level =x.apply(lambda x:'1'if x>0 else '0')level =level.R +level.F +level.Md = {"111":"重要價值客戶","011":"重要保持客戶","101":"重要挽留客戶","001":"重要發(fā)展客戶","110":"一般價值客戶","010":"一般保持客戶","100":"一般挽留客戶","000":"一般發(fā)展客戶"}result = d[level]return resultrfm['label']= rfm[['R','F','M']].apply(lambda x:x-x.mean()).apply(rfm_func,axis =1)
rfm.head()
重要價值客戶和非重要價值客戶進(jìn)行可視化展示
rfm.loc[rfm.label=='重要價值客戶','color']='g'
rfm.loc[~(rfm.label=='重要價值客戶'),'color']='r'
rfm.plot.scatter('F','R',c= rfm.color)
從圖中可以看出,R值小的F值大的點數(shù)占多,這說明最近購買的日期很近,交易頻率也很高,這是很好的現(xiàn)象。
4.3.4 新用戶、活躍用戶、不活躍用戶和回歸用戶分析
設(shè)置Customer_ID為索引,month為列名,統(tǒng)計每個月的購買次數(shù)。
pivoted_counts = df.pivot_table(index= 'Customer_ID',columns= 'month',values= 'Order_Date',aggfunc= 'count').fillna(0)
# 大于一次的全部設(shè)為1
df_purchase = pivoted_counts.applymap(lambda x:1 if x>0 else 0)
df_purchase.head()
定義狀態(tài)函數(shù)并進(jìn)行狀態(tài)標(biāo)記。
def active_status(data):status = []for i in range(48):if data[i] == 0:if len(status)>0:if status[i-1] == "unreg":# 未注冊客戶status.append("unreg")else:# 不活躍用戶status.append("unactive")else:status.append("unreg")# 若本月消費了else:if len(status) == 0:# 新用戶status.append("new")else:if status[i-1] == "unactive":# 回歸用戶status.append("return")elif status[i-1] == "unreg":status.append("new")else:status.append("active")return pd.Series(status) purchase_stats = df_purchase.apply(active_status,axis =1)
purchase_stats.head()
結(jié)果如下:
用NaN替代 “unreg”,并統(tǒng)計每月各狀態(tài)客戶數(shù)量。
purchase_stats_ct = purchase_stats.replace('unreg',np.NaN).apply(lambda x:pd.value_counts(x))
# 用0填充NaN
purchase_stats_ct.fillna(0).T.plot.area()
從以上結(jié)果可以發(fā)現(xiàn)活躍客戶、新客戶和回歸客戶,每年呈一定的規(guī)律起伏,這可能和年終大促有關(guān),需要更多數(shù)據(jù)進(jìn)行驗證。
4.3.5 復(fù)購率和回購率分析
復(fù)購率計算指標(biāo):用戶在該月購買過一次以上算復(fù)購。
purchase_r = pivoted_counts.applymap(lambda x :1 if x>1 else np.NaN if x==0 else 0)
(purchase_r.sum()/purchase_r.count()).plot(figsize=(10,4))
回購率計算指標(biāo):在該月購買過,且在下月也購買時計入回購。
def purchase_back(data):status=[]for i in range(47):if data[i] ==1:if data[i+1] == 1:status.append(1)if data[i+1] == 0:status.append(0)else:status.append(np.NaN)status.append(np.NaN)return statuspurchase_b = df_purchase.apply(purchase_back,axis =1,result_type='expand')
(purchase_b.sum()/purchase_b.count()).plot(figsize=(10,4))
從上可以發(fā)現(xiàn)復(fù)購率基本大于0.52,且呈總體上升趨勢,說明客戶忠誠度高,也和之前分析的商家維持老客做得很好相對應(yīng);回購率在年中年末呈峰形態(tài),可能與商家折扣活動或節(jié)日有關(guān),間接也說明活動或節(jié)日起到了一定的影響力。
5 總結(jié)
1)從銷售情況分析來看,每年下半年的銷售額、銷量和利潤均是明顯好于上半年,且均逐年遞增;從輸出結(jié)果來看,總消費次數(shù)呈現(xiàn)逐年遞增的趨勢,但是客單價保持在500左右不變;不管在哪個地區(qū),銷售額呈現(xiàn)逐年遞增的趨勢。
2)從商品情況分析來看,銷量最高的大部分是辦公用品,電子產(chǎn)品的銷售額最高而且利潤最大,所以商家可以持續(xù)發(fā)展在電子產(chǎn)品類的利潤優(yōu)勢,但是Tables(桌子)的利潤是負(fù)的,需要保持關(guān)注,收集更多數(shù)據(jù)去了解和確定產(chǎn)生負(fù)利潤的原因。
3)從用戶情況分析來看,不管是哪種類型的用戶,其數(shù)量和銷售額每年都是呈現(xiàn)一個遞增的趨勢;該商家在維持老客方面做得很不錯,但是2013年初后,新客增長趨勢緩慢,商家需要通過廣告、活動等方式吸引更多的新客。
6 參考資料
1、原始數(shù)據(jù)集
鏈接:https://pan.baidu.com/s/13QNHG7sRZu4iwcJ4Sz9F1g
提取碼:ec7j
2、數(shù)據(jù)分析實戰(zhàn)之超市零售分析
3、RFM模型
4、python 數(shù)據(jù)表格的合并和重塑
總結(jié)
以上是生活随笔為你收集整理的利用Python进行数据分析之超市零售分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IEEE AJE期刊润色 流程记录
- 下一篇: 2999 元,美的推出自动集尘扫拖机器人