การแบ่งกลุ่มลูกค้าด้วย Python
Karolis Urbonas
Head of Data Science, Amazon
แถว:
คอลัมน์:

แถว:
คอลัมน์:

ข้อมูลธุรกรรมกว่า 500,000 รายการจากร้านค้าออนไลน์ในสหราชอาณาจักร
ตลอดคอร์สนี้จะใช้ข้อมูลสุ่มตัวอย่าง 20% ของชุดข้อมูลนี้
online.head()

def get_month(x): return dt.datetime(x.year, x.month, 1)online['InvoiceMonth'] = online['InvoiceDate'].apply(get_month)grouping = online.groupby('CustomerID')['InvoiceMonth']online['CohortMonth'] = grouping.transform('min')online.head()
กำหนดฟังก์ชันเพื่อดึงค่าจำนวนเต็มของ year, month และ day
ฟังก์ชันนี้จะใช้ตลอดคอร์ส
def get_date_int(df, column):
year = df[column].dt.year
month = df[column].dt.month
day = df[column].dt.day
return year, month, day
invoice_year, invoice_month, _ = get_date_int(online, 'InvoiceMonth') cohort_year, cohort_month, _ = get_date_int(online, 'CohortMonth')years_diff = invoice_year - cohort_year months_diff = invoice_month - cohort_monthonline['CohortIndex'] = years_diff * 12 + months_diff + 1 online.head()
grouping = online.groupby(['CohortMonth', 'CohortIndex'])cohort_data = grouping['CustomerID'].apply(pd.Series.nunique)cohort_data = cohort_data.reset_index()cohort_counts = cohort_data.pivot(index='CohortMonth', columns='CohortIndex', values='CustomerID')print(cohort_counts)

การแบ่งกลุ่มลูกค้าด้วย Python