微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将按分组的DataFrame的列值展开为正确的列

如何解决将按分组的DataFrame的列值展开为正确的列

进行GroupBy操作后,我具有以下数据框:

DataFrame

根据需要,将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)])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。