泰迪杯資料分析比賽2018年B題解答-任務3補充3.2
任務3-文章目錄
- 泰迪杯資料分析比賽2018年B題解答-任務3補充3.2
- 3.1全部代碼:
- 任務3.2實作代碼:
- 結尾
泰迪杯資料地址: https://www.tipdm.org/bdrace/jljingsai/20181008/1488.html#sHref.
前言:由于許多碼友咨詢3.2的任務代碼,因此為了實作碼友們的期望,特此補充3.2的實作代碼,
任務 3.2 在任務 3.1 的基礎上進行標簽拓展,依據標簽生成完整的售歡訓畫像,結果保存在 CSV 檔案中,檔案名分別為“task3-2A.csv”、task3- 2B.csv”、…、“task3-2E.csv”,依據此畫像進行總結描述,給出營銷意見,
因為任務3.2是基于任務3.1的代碼,因此先展現出3.1的代碼:
3.1全部代碼:
import pandas as pd
from sklearn.cluster import KMeans
from sklearn import metrics
from sklearn import preprocessing
def task9(data):
data1=pd.read_csv(r'D:\大資料學習\資料分析與挖掘\B題\\'+data,encoding='gbk')
dalei=data1['商品'].unique().tolist()#提取出商品總串列,方便之后進行分類
datasum=[]
datasem=[]
for i in dalei:
data_x=data1[data1['商品']==i]['實際金額'].sum()
data_t=data1[data1['商品']==i]['商品'].size
datasum.append(data_x)#插入串列中
datasem.append(data_t)
task1_2 = pd.DataFrame({'商品':dalei,'總實際金額':datasum,'銷售量':datasem})#對串列進行整理,制作成表單
X = preprocessing.minmax_scale(task1_2['銷售量'])
X = pd.DataFrame(X, columns=['銷售量'])
kmeans=KMeans(n_clusters=3)
kmeans.fit(X)
#將標簽插入players表格中
task1_2['cluster']=kmeans.labels_
task1=list(task1_2['cluster'])
for i in range(len(task1)):
if(task1[i] == 2):
task1[i] = '熱銷'
elif(task1[i]==1):
task1[i]='正常'
elif(task1[i]==0):
task1[i]='滯銷'
task1_2['cluster']=task1
task1=task1_2['商品']
task2=task1_2['cluster']
task=pd.DataFrame({'商品':task1,'標簽':task2,'銷售金額':datasum})
return task
#task.to_csv(r'D:\大資料學習\資料分析與挖掘\B題\result\\'+data_1,encoding='gbk')
a=task9('task1-A.csv')
b=task9('task1-B.csv')
c=task9('task1-C.csv')
d=task9('task1-D.csv')
e=task9('task1-E.csv')
本人任務3.2的處理方式與3.1的是相似的,如想看整體思想可以翻看任務3.1的博客,在此就不多做解釋了,
任務3.2實作代碼:
import pandas as pd
from sklearn.cluster import KMeans
from sklearn import metrics
from sklearn import preprocessing
def task10(date,date1):
X=preprocessing.minmax_scale(date['銷售金額'])
X=pd.DataFrame(X,columns=['銷售金額'])
kmeans=KMeans(n_clusters=3)
kmeans.fit(X)
date['cluster']=kmeans.labels_
task1=list(date['cluster'])
for i in range(len(task1)):
if(task1[i] == 2):
task1[i] = '高金額'
elif(task1[i]==1):
task1[i]='普通'
elif(task1[i]==0):
task1[i]='低金額'
date['cluster']=task1
b=date['標簽']+date['cluster']
task=pd.DataFrame({'商品':date['商品'],'銷售標簽':date['標簽'],
'總金額標簽':date['cluster'],'商品總體畫像':b})
task.to_csv(r'D:\大資料學習\資料分析與挖掘\B題\result\\'+date_1,encoding='gbk')
return task
task10(a,'task3-2A')
task10(b,'task3-2B')
task10(c,'task3-2C')
task10(d,'task3-2D')
task10(e,'task3-2E')
售歡訓A結果:

由此可以得出各商品的總銷售金額與銷售量形成的畫像啦,
另外因本人技術問題,任務4得出的預算結果不如預期,因此任務4暫時不展現出來,等本人技術加深后,再更新任務4的博客,
結尾
任務3到這里就完成啦
還請各位大神指點我這小白的代碼,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/208495.html
標籤:其他
上一篇:CSP-S 2020 游記
