我有一个具有以下结构的数据框:
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')
我想对每个用户的推文进行计算。
例如,如何找到每个用户的平均转发次数以及最大转推的推文?
答案 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