通过字典进行迭代时,“ numpy.int64”对象不可迭代

时间:2019-04-08 01:28:34

标签: dataframe

我有这样的字典

dd={888202515573088257: tweepy.error.TweepError([{'code': 144,
                           'message': 'No status found with that ID.'}]),
 873697596434513921: tweepy.error.TweepError([{'code': 144,
                           'message': 'No status found with that ID.'}]),
....,
680055455951884288: tweepy.error.TweepError([{'code': 144,
                           'message': 'No status found with that ID.'}])}

我想从这个字典中制作一个数据框,就像这样

df=pd.DataFrame(columns = ['twid','msg'])
for k,v in dd:
    df = df.append({'twid': k, 'msg': v},ignore_index = True)

但是我得到TypeError:'numpy.int64'对象是不可迭代的。有人可以帮我解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

默认情况下,对字典进行迭代将对键进行迭代。如果要拆解(键,值)对,可以使用dd.items()

在这种情况下,您似乎不需要这些值,因此以下内容应该可以使用。

df = pd.DataFrame(columns = ['twid'])
for k in dd:
    df = df.append({'twid': k}, ignore_index = True)

或者,您可以仅在创建DataFrame时传递键。

df = pd.DataFrame(list(dd.keys()), columns=['twid'])

答案 1 :(得分:0)

我做到了,而且有效:

df=pd.DataFrame(list(dd.items()), columns=['twid', 'msg'])
df

enter image description here