Как остановить появление NAN в DataFrame - PullRequest
0 голосов
/ 28 апреля 2019

Я использую API для извлечения файла JSON / Python DICT.Когда я пытаюсь перенести его во фрейм данных pandas, у меня возникают проблемы

Я использую библиотеку запросов python для получения указания по адресу, используя requests.get().text, вложенный в метод json.loads().

Я пробовал следующее:

#Request_data
jsonfile = json.loads(requests.get(address).text)

Method1

df=json_normalize(jsonfile,record_path='history',meta['open','close','high','low','volume'],errors='ignore')

Method2

df=json_normalize(jsonfile,meta['open','close','high','low','volume'],errors='ignore')

Когда я пытаюсь method1, я получаю таблицу с датамив столбце и открытия, закрытия, максимума, минимума и объема в качестве заголовков столбцов, однако значение в ячейке равно NaN

Когда я пытаюсь использовать метод2, я получаю одну строку и множество столбцов с каждой датой, имеющейстолбец открытия, закрытия, максимума, минимума и объема.

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

@ thisray спасибо, что нашли время ответить. Оценил. Я пришел с этим ответом, и он добился цели, дайте мне знать, что вы думаете.

jsonfile = requests.get(URL)
fin_dict = jsonfile.json()
fin_history_dict = fin_dict['history']
historic_data = list(fin_history_dict.values())
df=pd.DataFrame(data = historic_data,index=fin_dict['history'])
0 голосов
/ 28 апреля 2019

Нелегко понять ваши данные, но я предлагаю вам создать каждый столбец, повторяя ваши данные json. Вы можете проверить, откуда приходит NaN в цикле for.

Например:

df = pd.DataFrame()
col_1, col_2 = [], []

for element in jsonfile:
    col_1.append(element['col_1'])
    col_2.append(element['col_2'])

df['col_1'] = col_1
df['col_2'] = col_2

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...