我正在用 pandas 做一些计算,我的名为 data 的 Pandas 数据框如下:
用户id ------ hashtagcount
1034 ---- 3
1034 ---- 0
1034 ---- 5
1337 ---- 2
1337 ---- 1
1337 ---- 2
2288 ---- 6
.... ---- 。
我还有其他的专栏。我使用以下方法在我的 Pandas 数据集中选择具有重复值的行。例如,UserId 在上面出现了 3 次。
unique_spam_row=data[["UserID","UserCreatedAt","UserDescriptionLength","UserFollowersCount","UserFriendsCount","UserLocation"]]
我删除了重复的值。 spam_data=unique_spam_row.drop_duplicates()
但是 我需要在新的 spam_data 数据框中保存每个 UserID 的平均标签数。
我也是这样
spam=data.groupby('UserID')["HashtagCount"].sum()
我得到了
用户ID
1034 - 8
1337 - 5
2288 - 9
............
type(spam) 给我,它是一个系列,我需要添加这些 8、5、9 ....作为 spam_data 数据框中的 AvgHashtag 列,其中重复的行已经被删除...... 非常感谢您的建议。
最佳答案
我认为transform
应该工作:
data['count'] = data.groupby('UserID')["HashtagCount"].transform('sum')
这将返回一个系列,其索引与原始 df 对齐,因此您可以将其正确添加为列
关于python - 如何将 Pandas 计算序列合并到 Pandas 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31424797/