python计算数据帧agg

python计算数据帧agg,python,pandas,Python,Pandas,我有一个包含UserID和SharedNews的数据框,我想计算每个用户有多少共享新闻。这是我的密码: import pandas as pd import numpy as np ... def aggr_new_userlevel_shares_dataset(): new_userlevel_shares_df = new_userlevel_shares_dataset() id_shared_df = new_userlevel_shares_df[["UserID"

我有一个包含UserID和SharedNews的数据框,我想计算每个用户有多少共享新闻。这是我的密码:

import pandas as pd
import numpy as np
...

def aggr_new_userlevel_shares_dataset():
    new_userlevel_shares_df = new_userlevel_shares_dataset()
    id_shared_df = new_userlevel_shares_df[["UserID","PostTitle"]].values
    array_shared = []

    for row in id_shared_df:
        array_shared.append([row[0],sharedNews(row[1])])

    shared_df = pd.DataFrame(array_shared,columns = ["UserIDTemp","SharedNews"])
    concat_df = pd.concat([new_userlevel_shares_df,shared_df],axis = 1)
    concat_df.drop("UserIDTemp",axis = 1,inplace = True)
    print("before sum:")
    print(concat_df)

    concat_df = concat_df.groupby(["UserID"],sort = False).agg({"SharedNews",np.sum}).reset_index()
    print("after sum:")
    print(concat_df)

def sharedNews(post_title):
    countSharedNews = 0
    keywords = ['via', 'shared \'s', 'shared a', 'commented on', 'likes', 'published']
    for i in keywords:
        if (i in post_title and "photo" not in post_title) and (i in post_title and "video" not in post_title):
            countSharedNews = 1
    return countSharedNews 
但是,它会出现以下错误:

 Traceback (most recent call last):
  File "F:/MyDocument/F/My Document/Training/Python/PyCharmProject/FaceBookCrawl/FB_group_user_hierarchicalClustering.py", line 747, in <module>
    aggr_new_userlevel_shares_dataset()
  File "F:/MyDocument/F/My Document/Training/Python/PyCharmProject/FaceBookCrawl/FB_group_user_hierarchicalClustering.py", line 710, in aggr_new_userlevel_shares_dataset
    concat_df = concat_df.groupby(["UserID"],sort = False).agg({"SharedNews",np.sum}).reset_index()

    ...
    AttributeError: 'SeriesGroupBy' object has no attribute 'SharedNews'
回溯(最近一次呼叫最后一次):
文件“F:/MyDocument/F/My Document/Training/Python/PyCharmProject/FaceBookCrawl/FB_group\u user\u hierarchycalclustering.py”,第747行,在
aggr_新用户级别共享数据集()
文件“F:/MyDocument/F/MyDocument/Training/Python/PyCharmProject/FaceBookCrawl/FB_group\u user\u hierarchycalclustering.py”,第710行,位于aggr_new\u userlevel\u shares\u数据集中
concat_df=concat_df.groupby([“UserID”],sort=False).agg({“SharedNews”,np.sum}).reset_index()
...
AttributeError:“SeriesGroupBy”对象没有属性“SharedNews”

你能告诉我原因和如何更正吗?

你似乎想要一本字典,而不是一套:
concat_df=concat_df.groupby([“UserID]”,sort=False)。agg({“SharedNews”:np.sum})。reset_index()
你能告诉我如何更正程序吗?你试过我评论中的代码吗?