首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json_normalize熊猫如何

json_normalize熊猫如何
EN

Stack Overflow用户
提问于 2016-11-02 11:13:06
回答 1查看 2.1K关注 0票数 1

我正在尝试创建一个API来获取来自poloniex的历史数据,以便我的神经网络为一个学校项目学习。

我得到一个json文件,但问题是poloinex_df是“空”的,所有信息都在索引/列名行中(图片已实现,变量资源管理器),我试图以某种方式转接它,然后我在这里被告知,熊猫有一个函数。我读了这些文档,在这里四处寻找,但没有找到我要找的东西。我想用日期、打开、关闭、volumne等索引以及相应的数据来制作数据。我该怎么做?现在我得到了一个错误:

代码语言:javascript
复制
data_frame = json_normalize(poloinex_df, 'date' ,['high', 'low', 'open', 'close','volume','quoteVolume','weightedAverage'])

回溯(最近一次调用): 文件"",第1行,在data_frame = json_normalize(poloinex_df,'date‘,'high','low','open','close',’音量‘,’商卷‘,'weightedAverage')中 文件"C:\ToolBox\Anaconda2\lib\site-packages\pandas\io\json.py",第761行,在json_normalize _recursive_extract(data,record_path,{},level=0)中 文件"C:\ToolBox\Anaconda2\lib\site-packages\pandas\io\json.py",第747行,在_recursive_extract recs = _pull_field(obj,path)中 文件"C:\ToolBox\Anaconda2\lib\site-packages\pandas\io\json.py",第698行,在_pull_field结果= resultspec中 TypeError:字符串索引必须是整数,而不是str

来自下载数据的变量资源管理器中的Pic:

我必须遵循以下代码:

代码语言:javascript
复制
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())

谢谢你的帮助和洞察力

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-03 13:57:50

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40378529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档