gpt4 book ai didi

python - Pandas 数据框的列总和并与其他数据结合

转载 作者:行者123 更新时间:2023-12-01 04:20:30 24 4
gpt4 key购买 nike

这是 question 的延续我之前问过,当时得到了合适的答案。然而现在我的问题不同了,给出的答案不再(完全)适用。

我收集了大量 Twitter 消息,我想对其进行一些统计分析。部分数据框如下所示:

user.id      user.screen_name      user.followers_count      text
Jim JimTHEbest 14 blahbla
Jim JIMisCOOL 15 blebla
Sarah Sarah123 33 blaat
Sarah Sarah123 33 bla
Peter PeterOnline 9 blabla

user.id 永远不会改变,是 Twitter 帐户的标识符。

user.screen_name 为 Twitter 帐户指定的名称,可能会随着时间的推移而更改。

user.followers_count 帐户有多少关注者,可能会随着时间而变化。

文本 Twitter 消息,每行代表 1 条 Twitter 消息及其元数据。

我想做的是计算数据框中每个 Twitter 用户的推文频率,并将其与我已有的数据结合起来。这样我就得到了这样的东西:

user.id      user.screen_name      user.followers_count      count
Jim JIMisCOOL 15 2
Sarah Sarah123 33 2
Peter PeterOnline 9 1

数据集中每个 Twitter 用户的数据框有 1 行,显示他们的推文计数以及最后的 screen_name 和 follower_count。

我认为我应该做的是首先执行“计数”操作,然后 pd.merge 该结果与我的原始数据帧的一部分。在 pandas 文档的帮助下尝试合并并没有让我走得太远,主要是无休止地重复重复数据行..任何帮助将不胜感激!

我执行的计数部分如下:

df[['name', 'text']].groupby(['name']).size().reset_index(name='count')

最佳答案

# df being the original dataframe, taking the last row of each unique user.id and ignoring the 'text' column
output_df = df.drop_duplicates(subset='user.id', take_last=True)[['user.id', 'user.screen_name', 'user.followers_count']]
# adding the 'count' column
output_df['count'] = df['user.id'].apply(lambda x: len(df[df['user.id'] == x]))
output_df.reset_index(inplace=True, drop=True)
print output_df
>> user.id user.screen_name user.followers_count count
0 Jim JIMisCOOL 15 2
1 Sarah Sarah123 33 2
2 Peter PeterOnline 9 1

关于python - Pandas 数据框的列总和并与其他数据结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33783680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com