使用python pandas数据帧df:
Customer_ID | Transaction_ID | Item_ID | date | trans_nr
ABC 2017-04-12-333 X8973 2017-04-12 1
ABC 2017-04-12-333 X2468 2017-04-12 1
ABC 2017-05-22-658 X2906 2017-05-22 2
ABC 2017-05-22-757 X8790 2017-05-22 2
ABC 2017-07-13-864 X8790 2017-07-13 3
BCD 2017-08-11-879 X2346 2017-08-11 1
BCD 2017-08-11-879 X2468 2017-08-11 1
CDE 2017-03-05-879 X8973 2017-03-05 1
CDE 2017-05-22-879 X2468 2017-05-22 2
CDE 2017-10-15-879 X2346 2017-10-15 3
我需要基本上围绕它,创建项目漏斗-换句话说,了解有多少人在每次访问中购买了每个项目,以及他们下一次购买的项目。在
这是我要查找的输出:
^{pr2}$我设法用一些难看的代码来实现这一点:
df_first = df.loc[df['trans_nr'] == 1].copy()
df_first = df_first.rename(columns={'Item_ID': 'item_1trans'})
df_second = df.loc[df['trans_nr'] == 1].copy()
df_second = df_second.rename(columns={'Item_ID': 'item_2trans'})
df_third = df.loc[df['trans_nr'] == 1].copy()
df_third = df_third.rename(columns={'Item_ID': 'item_3trans'})
df_step1 = pd.merge(df_first,df_second,how='outer',on=['Customer_ID'])
df_final = pd.merge(df_step1,df_third,how='outer',on=['Customer_ID'])
pd.pivot_table(df_final,index= \
['item_1trans','item_2trans','item_3trans'],values=["Customer_ID"],\
aggfunc=lambda x: len(x.unique())).to_csv('test.csv')
但必须有更顺畅的方法。在
目前没有回答
相关问题 更多 >
编程相关推荐