Объект 'numpy.int64' не может повторяться при повторении через словарь - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть словарь, подобный этому

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 голосов
/ 08 апреля 2019

Я сделал это, и это работает:

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

enter image description here

0 голосов
/ 08 апреля 2019

По умолчанию итерация по словарю будет повторяться по ключам.Если вы хотите распаковать пары (ключ, значение), вы можете использовать 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'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...