2024-10-02 16:24:39 发布
网友
Data Snippet
我试图在数据框中添加一个新列,显示每个用户的平均购买量。数据帧称为trainDf,下面的代码行生成用户的平均值。我正在尝试学习如何添加它作为一个列显示类似于上面的图像
AveragePurchaseAmountUser = trainDf.groupby(by='User_ID')['Purchase_Amount'].mean()
提前谢谢你!在
你可以试试:
trainDf['AveragePurchaseAmountUser'] = trainDf.groupby(['User_ID'])['Purchase_Amount'].mean()
这将返回带有新列的数据帧
def avg(df): df['Average_Purchase_Amount'] = df['Purchase_Amount'].mean() return df newDf = trainDf.groupby(by='User_ID').apply(avg)
如果要将列作为一系列,可以应用此函数:
然后将列添加到DataFrame中
我会用merge
avg_df = trainDf.groupby(by='User_ID')['Purchase_Amount'].mean().reset_index().rename(columns={'Purchase_Amount': 'Avg'}) trainDf = trainDf.merge(avg_df, on='User_ID')
你可以试试:
这将返回带有新列的数据帧
如果要将列作为一系列,可以应用此函数:
^{pr2}$然后将列添加到DataFrame中
我会用merge
相关问题 更多 >
编程相关推荐