【问题标题】:How to convert json file as pandas readable如何将json文件转换为熊猫可读
【发布时间】:2021-04-27 02:17:25
【问题描述】:

我有一个用于 ML 实施的实时 API 我正在使用 Google colab 作为环境 我已与 API 建立联系,状态为成功,我收到了一个 json 文本文件,我已解析为 .json() 并使其可见并缩进。

{
   "Meta Data": {
    "1. Information": "Daily Prices and Volumes for Digital Currency",
    "2. Digital Currency Code": "BTC",
    "3. Digital Currency Name": "Bitcoin",
    "4. Market Code": "CNY",
    "5. Market Name": "Chinese Yuan",
    "6. Last Refreshed": "2021-01-22 00:00:00",
    "7. Time Zone": "UTC"
},
"Time Series (Digital Currency Daily)": {
    "2021-01-22": {
        "1a. open (CNY)": "199365.55938000",
        "1b. open (USD)": "30851.99000000",
        "2a. high (CNY)": "199443.03876000",
        "2b. high (USD)": "30863.98000000",
        "3a. low (CNY)": "188839.21986000",
        "3b. low (USD)": "29223.03000000",
        "4a. close (CNY)": "192933.34920000",
        "4b. close (USD)": "29856.60000000",
        "5. volume": "12132.72474600",
        "6. market cap (USD)": "12132.72474600"
    },
    "2021-01-21": {
        "1a. open (CNY)": "229195.70226000",
        "1b. open (USD)": "35468.23000000",
        "2a. high (CNY)": "230047.20000000",
        "2b. high (USD)": "35600.00000000",
        "3a. low (CNY)": "194318.80200000",
        "3b. low (USD)": "30071.00000000",
        "4a. close (CNY)": "199353.54006000",
        "4b. close (USD)": "30850.13000000",
        "5. volume": "131803.18292600",
        "6. market cap (USD)": "131803.18292600" 

现在的问题是我们如何使这个 json 文件成为 pandas 可读的文件。欢迎提出任何建议

【问题讨论】:

    标签: json pandas api google-colaboratory stock


    【解决方案1】:

    读入时间序列,然后transpose(), T。然后重命名您的列。

    df = pd.DataFrame(d["Time Series (Digital Currency Daily)"]).T
    df.columns = ['open CNY', 'open USD', 'high CNY', 'high USD',
       'low CNY', 'low USD', 'close CNY', 'close USD',
       'volume', 'market cap USD']
    

    输出

                    open CNY  open USD      high CNY  high USD       low CNY   low USD     close CNY close USD         volume market cap USD
    2021-01-22  199365.55938  30851.99  199443.03876  30863.98  188839.21986  29223.03  192933.34920  29856.60   12132.724746   12132.724746
    2021-01-21  229195.70226  35468.23  230047.20000  35600.00  194318.80200  30071.00  199353.54006  30850.13  131803.182926  131803.182926
    

    【讨论】:

    • 我们如何命名那边的日期列。
    • 您好,我试过了,但是显示索引:1000 个条目,2021-01-24 到 2018-05-01 数据列(共 10 列):开盘人民币,开盘美元,高人民币,高美元、人民币低位、美元低位、人民币收盘、美元收盘、成交量、市值美元..
    • 当我试图找到 df.iloc[:,0], df.iloc[:,1] 时,日期(不带标题)和列的相应索引都会显示。有点困惑,我认为日期(没有标题)是自动映射的吗? .. 但是如果是这样,当我按列分组时它不会显示
    • 你想做什么?可以像 df.index 一样调用索引,而可以使用该语法调用列。但是索引通常不像 df['index name'] 那样被调用。如果确实给您带来问题,您可以 reset_index 然后将该列重命名为 Date。
    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 2021-07-20
    • 2016-12-26
    • 1970-01-01
    • 2018-07-14
    • 2021-08-21
    • 2021-04-19
    相关资源
    最近更新 更多