从tweepy中提取数据

时间:2015-07-26 01:59:03

标签: python group-by append dataframe tweepy

我需要从某人的Twitter提要(不是流媒体)中收集某些信息: 1)星期几发布了对另一条推文的回复 2)发布回复的那天的小时

我在做什么:

1)获取所需信息 2)将该信息附加到DataFrame 3)Groupby"星期几" 4)每天过去并打印一份回复量的直方图。

import datetime
import pandas as pd
from collections import Counter
celebrity = '@elonmusk'

def weekdayf(weekday):
    return{
        0: 'Monday',
        1: 'Tuesday',
        2: 'Wednesday',
        3: 'Thursday',
        4: 'Friday',
        5: 'Saturday',
        6: 'Sunday'
    }[weekday]

data = {'Day of the week': [],
        'Hour': []
       }    
df = pd.DataFrame(data)

for status in tweepy.Cursor(api.user_timeline, id = celebrity).items(150):
    #find responses
    if status.in_reply_to_status_id != None:
        data = {'Hour': [status.created_at.time().hour],
        'Day of the week': [weekdayf(status.created_at.weekday())]
       }
        df1 = pd.DataFrame(data)
        df = df.append(df1, ignore_index = True)

df = df.groupby(by = "Day of the week", as_index = True)

我的问题是:

I)我的groupby不起作用,我不知道为什么。我以前用过这个方法,没有问题。我该如何解决?

II)我的朋友说追加效率非常低。因此,我必须首先将所有的repplies放在数据帧中。 他的建议是:

tweets = [x.__dict__ for x in tweepy.Cursor(api.user_timeline, id = celebrity).items(10)
         if x.in_reply_to_status_id]

追加最佳方式吗?我没有弄清楚如何将它全部放在DataFrame中。推文是一个列表。

非常感谢你的帮助。

0 个答案:

没有答案