一、项目概述
根据淘宝平台的男装T恤的销售数据,构建男装单品类的价格指数模型,对电商男装品类的价格走势进行监测。
注:总价格指数是通过其细分品类的价格指数平均加权计算而来。
二、数据源
淘宝平台1-4月男装T恤的销售数据
三、价格指数的模型
(一)导入所需模块
import numpy as np
import pandas as pd
from datetime import datetime,date
import os
import warnings
warnings.filterwarnings("ignore")
(二)数据预处理
构建读取数据的函数,提取所需字段:
#读取数据
os.chdir('C:\\Users\\emma\\Desktop\\价格指数\\')
current_path=os.getcwd()
def read_data(i):
data_name='淘宝T恤20200{}.csv'.format(i)
data_path=os.path.join(current_path,data_name)
df=pd.read_csv(open(data_path,encoding='utf_8'))
df=df[['日期','商品ID','商品价格','销售量']]
df['日期']=pd.to_datetime(df['日期'],format='%Y-%m-%d')
#df_jd=df[['日期','商品ID','商品价格','销售量']]
df['month']=df['日期'].dt.month.astype('str')
df=df.drop(['日期'],axis=1)
return df
依次读取1-4的数据,并将其合并,删除缺失值:
#合并1-4月的数据,并删除缺失数据
df=read_data(1)
for i in range(2,5):
df_tb=read_data(i)
df=pd.merge(df,df_tb,on='商品ID',how='outer')
p_name='p_{}'.format(i-1)
q_name='q_{}'.format(i-1)
p2_name='p_{}'.format(i)
q2_name='q_{}'.format(i)
df=df.rename(columns={
'商品价格_x':p_name,'销售量_x':q_name,'商品价格_y':p2_name,'销售量_y':q2_name})
df=df.drop(['month_x','month_y'],axis=1)
df=df.dropna().reset_index(drop=True)
print(df.shape)
df.head()
合并后的部分数据:
求取1-4月,每个商品ID的月销售额
def total_sales(df):
for i in range