Python: Pandas произошло ValueError: если вы используете все скалярные значения, вы должны передать индекс [duplicate]

string fontFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.Fonts);
5
задан user2285236 14 July 2016 в 18:08
поделиться

2 ответа

Попробуйте

ser = pd.read_json('people_wiki_map_index_to_word.json', typ='series')

Этот файл содержит только пары значений ключа, значения которых являются скалярами. Вы можете преобразовать его в dataframe с помощью ser.to_frame('count').

Вы также можете сделать что-то вроде этого:

import json
with open('people_wiki_map_index_to_word.json', 'r') as f:
    data = json.load(f)

Теперь данные являются словарем. Вы можете передать его конструктору dataframe следующим образом:

df = pd.DataFrame({'count': data})
6
ответ дан user2285236 19 August 2018 в 03:43
поделиться

Я думаю, что происходит то, что данные в

map_index_to_word = pd.read_json('people_wiki_map_index_to_word.json')

читаются как строка вместо json

{"biennials": 522004, "lb915": 116290, "shatzky": 127647, "woode": 174106, "damfunk": 133206, "nualart": 153444, "hatefillot": 164111, "missionborn": 261765, "yeardescribed": 161075, "theoryhe": 521685}

на самом деле

'{"biennials": 522004, "lb915": 116290, "shatzky": 127647, "woode": 174106, "damfunk": 133206, "nualart": 153444, "hatefillot": 164111, "missionborn": 261765, "yeardescribed": 161075, "theoryhe": 521685}'

Поскольку строка является скаляром, она хочет, чтобы вы загрузили ее как json, вам нужно преобразовать ее в dict, что и делает другой ответ

. Лучший способ для выполнения json-нагрузок на строку, чтобы преобразовать ее в dict и загрузить ее в pandas

myfile=f.read()
jsonData=json.loads(myfile)
df=pd.DataFrame(data)
0
ответ дан Anant Gupta 19 August 2018 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: