如何计算串联对象(pandas)中数据框的平均值?

时间:2017-05-26 18:08:08

标签: python pandas twitter

我有一个具有以下结构的数据框:

df.columns
Index(['first_post_date', 'followers_count', 'friends_count',
       'last_post_date','min_retweet', 'retweet_count', 'screen_name',
       'tweet_count',  'tweet_with_max_retweet', 'tweets', 'uid'],
        dtype='object')

推文系列中,每个单元格都是包含用户所有推文的另一个数据框。

df.tweets[0].columns
Index(['created_at', 'id', 'retweet_count', 'text'], dtype='object')

我想对每个用户的推文进行计算。

例如,如何找到每个用户的平均转发次数以及最大转推的推文?

1 个答案:

答案 0 :(得分:1)

也许这样的事情会有所帮助:

df = pd.DataFrame({'id': [0, 1, 2],
                   'tweets': [pd.DataFrame({'id': [0, 1], 'retweet_count': [5, 10]}),
                              pd.DataFrame({'id': [2, 3], 'retweet_count': [55, 100]}),
                              pd.DataFrame({'id': [4, 5], 'retweet_count': [5555, 1000]})]})


stats = df['tweets'].apply(lambda x: pd.Series([x.retweet_count.max(),
                                                x.retweet_count.mean()],
                                               index=['max', 'mean']))

结果是一个数据框,其中列是每个用户的统计信息:

      max    mean
0    10.0     7.5
1   100.0    77.5
2  5555.0  3277.5