gpt4 book ai didi

Python pandas json_normalize 如何

转载 作者:行者123 更新时间:2023-12-01 03:36:06 25 4
gpt4 key购买 nike

我正在尝试创建一个 API,从 poloniex 获取历史数据,供我的神经网络用于学校项目的学习。

我得到一个json文件,但问题是poloinex_df是“空”,所有信息都在index/columnnames行中(图片相关,变量资源管理器),我尝试以某种方式转置它,然后我一直在这里告诉你,panda 有这个功能。我阅读了文档,并在这里四处寻找答案,但没有找到我想要的东西。我想制作一个数据框,其中包含日期、打开、关闭、音量等索引以及相应的数据。我怎么做?现在我收到错误:

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

变量资源管理器中下载数据的图片:

enter image description here

我必须遵循以下代码:

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 += '&currencyPair=' + 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())

感谢您的帮助和见解

最佳答案

import pandas as pd
import requests

def get_poloinex_data(s, a, b, c):

url = 'https://poloniex.com/public?command=returnChartData'

url += '&currencyPair=' + s #USDT for USD
url += '&start=' + a
url += '&end=' + b
url += '&period=' + c
data = requests.get(url)

return data.content

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 = pd.read_json(poloinex_df)

关于Python pandas json_normalize 如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40378529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com