我有以下for循环来生成两个列表:
A。 ID :用户关注者帐户的ID
B。 处理:用户句柄,以便我可以追溯到每个关注者属于哪个句柄
代码使用两个随机用户,以便我可以轻松跟踪问题:
import tweepy
import time
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
users = ['x', 'y']
api = tweepy.API(auth)
ids = []
handles = []
for user in users:
for page in tweepy.Cursor(api.followers_ids, screen_name= user).pages():
ids.extend(page)
time.sleep(60)
for userids in ids:
handles.append(user)
当我运行for循环时,我收到一个错误:
在ids
我有正确数量的粉丝
然而,在handles
中,我的总长度是错误的
我做错了什么?我想简单地将每个ID连接到他们所关注的列表中的帐户。
答案 0 :(得分:0)
我知道您想要从两个不同长度的列表中构建DataFrame
。也许我错了,但由于你没有提供可复制的例子,所以它并不明显。
在这种情况下,它会产生错误。
import pandas as pd
import numpy as np
handles = ['foo', 'bar', 'doe']
ids = [1,2]
followers_df = pd.DataFrame(
{'handle': handles,
'ids': ids})
# ValueError: arrays must all be same length
如果你想这样做,你可以使用这个技巧。
pd.concat([pd.DataFrame({'handle': handles}),
pd.DataFrame({'ids': ids})],
axis=1)
# handle ids
# 0 foo 1.0
# 1 bar 2.0
# 2 doe NaN