Я пытаюсь создать API для получения исторических данных из poloniex для моей нейронной сети, чтобы учиться на школьный проект.Python panda json_normalize как
Я получаю файл json, но проблема в том, что poloinex_df является «пустым», вся информация находится в строке index/columnnames (pic realated, variable explorer), я попытался каким-то образом транспонировать, тогда у меня есть было сказано здесь, что у панды есть функция для этого. Я прочитал документацию и осмотрелся здесь, но не нашел того, что искал. я хотел бы сделать dataframes с индексами, такими как даты open close volumne и т. д. и соответствующие данные. Как мне это сделать? Сейчас я получаю сообщение об ошибке:
data_frame = json_normalize(poloinex_df, 'date' ,['high', 'low', 'open', 'close','volume','quoteVolume','weightedAverage'])
Traceback (most recent call last):
File "", line 1, in data_frame = json_normalize(poloinex_df, 'date' ,['high', 'low', 'open', 'close','volume','quoteVolume','weightedAverage'])
File "C:\ToolBox\Anaconda2\lib\site-packages\pandas\io\json.py", line 761, in json_normalize _recursive_extract(data, record_path, {}, level=0)
File "C:\ToolBox\Anaconda2\lib\site-packages\pandas\io\json.py", line 747, in _recursive_extract recs = _pull_field(obj, path[0])
File "C:\ToolBox\Anaconda2\lib\site-packages\pandas\io\json.py", line 698, in _pull_field result = result[spec]
TypeError: string indices must be integers, not str
Pic в переменной исследователь из загруженных данных:
Я должен следующий код:
import chainer as chain
import pandas as pd
import numpy as np
from matplotlib import pylab
from pandas.io.json import json_normalize
def get_poloinex_data(s, a, b, c):
import requests
from pandas import DataFrame
from io import StringIO
url = 'https://poloniex.com/public?command=returnChartData'
url += '¤cyPair=' + s #USDT for USD
url += '&start=' + a
url += '&end=' + b
url += '&period=' + c
csv = requests.get(url)
if csv.ok:
return DataFrame.from_csv(StringIO(csv.text), sep=',') #Separator here
else:
return None
params = {
# specify stock
"s": 'USDT_ETH', # BTC_ETH, USDT_ETH stb
# query data from
'a': '1422230400', # unix date stamp, 2015 jan 26 : 1422230400
# query until
'b': '1492905600', # unix dates tamp, 2016 sep 23 : 1492905600
# frequency
'c': '14400' # unix time stamp
}
poloinex_df = get_poloinex_data(**params)
data_frame = json_normalize(poloinex_df, 'date' ,['high', 'low', 'open', 'close','volume','quoteVolume','weightedAverage'])
#data_frame = json_normalize(poloinex_df.json())
#TransposedData = poloinex_df.transpose()
#data_frame = json_normalize(resp.json())
Спасибо за ваша помощь и понимание
Спасибо, я почему-то пропустил read_json ... –