问题描述
进行GroupBy操作后,我具有以下数据框:
根据需要,将user_id与它们各自的过道ID分组。现在,我想将aisle_id值转换为列,以user_id作为索引,并将所有aisle_id作为列。然后,在这些值中,我要具有user_id和aisle_id在先前的DataSet中匹配的次数。例如,如果user_id 1在3种情况下从过道ID 12购买,则DF [1,12]中的值为3。
使用Pandas数据透视表,我可以将user_id的模板作为索引,并将aisle_id的模板作为列,但是我似乎找不到找到创建上面指定值的方法。
解决方法
考虑到您的第一个数据帧是df,我想您可以尝试以下方法:
df2=pd.DataFrame(index=df['user_id'].unique(),columns=df['aisle_id'].unique())
for i in df2.index :
for j in df2.columns :
df2.at[i,j]=len(df.loc[(df['user_id']==i) & (df['aisle_id']==j)])