Python 将按数据帧分组的列值展开为适当的列

Python 将按数据帧分组的列值展开为适当的列,python,pandas,numpy,dataframe,data-manipulation,Python,Pandas,Numpy,Dataframe,Data Manipulation,执行GroupBy操作后,我有以下数据帧: 根据我的需要,将用户id与其各自的通道id分组。现在,我想将通道id值转换为列,将用户id作为索引,将所有通道id作为列。然后,在这些值中,我希望得到用户id和过道id在上一个数据集中匹配的次数。例如,如果用户_id 1在3次从通道_id 12购买,DF[1,12]中的值将为3 使用Pandas pivot表,我可以将用户id模板作为索引,将过道id作为列,但我似乎找不到创建上述指定值的方法。考虑到您的第一个数据帧是df,我认为您可以尝试以下方法:

执行GroupBy操作后,我有以下数据帧:

根据我的需要,将用户id与其各自的通道id分组。现在,我想将通道id值转换为列,将用户id作为索引,将所有通道id作为列。然后,在这些值中,我希望得到用户id和过道id在上一个数据集中匹配的次数。例如,如果用户_id 1在3次从通道_id 12购买,DF[1,12]中的值将为3


使用Pandas pivot表,我可以将用户id模板作为索引,将过道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)])
grouped\u df.set\u index(“过道id”)