將會員消費記錄創造出商業價值?-彙整資料視覺化所需的基本元素-系列3(附Python程式碼)

一、彙整資料清單

# 分類好每個月的資料(哪個會員在第幾個月因為甚麼廣告而購買、第幾次購買)final_2018 = []# 從1月開始蒐集for mon in range(len(original_2018)):# 建立存取【會員】、【廣告代號】、【第幾次購買】之串列original_2018_id = []original_2018_ad = []original_2018_count =[]# 每個會員編號都跑一次 i:不同會員編號 舉例:會員10071970for i in customer_record.keys() :# 舉例:會員10071970 在2018年購買系列1的所有消費紀錄for j in customer_record[i].values() :# 消費紀錄中若開頭為蒐集的該月份則執行下方程式if j.startswith(str(mon+1)+'月'):# 存取該會員編號 舉例:10071970original_2018_id.append(i)print('會員編號:',i)# 存取其廣告代號 舉例:1月_GINEPoriginal_2018_ad.append(j)print('廣告代號:',j)# 存取會員在這筆消費紀錄中是第幾次購買舉例:'1'original_2018_count.append(list    (customer_record[i].keys()) [list   (customer_record[i].values()).index (j)])print('第幾次購買:',list (customer_record[i].keys()) [list (customer_record[i].values()).index (j)])# 建立DataFrameoriginal_2018_df = pd.DataFrame({'會員':original_2018_id,'廣告代號':original_2018_ad,'第幾次購買':original_2018_count})# 存放到分類12個月的串列之中final_2018.append(original_2018_df)
圖 1、每個月份訂單資料清單(final_2018)
圖 2、final_2018–6月份訂單資料(新增第幾次購買)

"到目前為止是不是覺得還少了些甚麼呢?"

二、調整資料清單

# 目的:為了跟final_2018去做merge# 補上月份for i in range(len(original_2018)):original_2018[i]['廣告代號'] = str(i+1) + '月_' + original_2018[i]['廣告代號']# 目的:使original_2018 和   final_2018 的會員欄位內容「type」相同# 將original_2018中的會員轉成stringfor i in range(len(original_2018)):original_2018[i]['會員'] = original_2018[i]['會員'].astype(str)print(str(i+1)+'月check!' )
圖 3、調整後清單(original_2018)
圖 4、調整後6月份資料(original_2018)
# 目的:final_2018 1~12月的資料補上相對應的利潤for i in range(len(final_2018)) :# 將original_2018數據中的利潤   依照【會員&廣告代號】去merge到 final_2018上final_2018[i] = final_2018[i].merge(original_2018[i], how='inner', left_on=['會員', '廣告代號'], right_on=['會員', '廣告代號'])# 刪除重複merge到的錯誤final_2018[i] = final_2018[i].drop_duplicates(subset=['訂單時間'])final_2018[i] = final_2018[i].reset_index(drop = True)del final_2018[i]['訂單時間']del final_2018[i]['系列']
圖 5、調整後清單(final_2018)

更多實戰案例及情境好文推薦

回到頂端