簡體   English   中英

如何在 Python 中將此列表/字典組合到一個數據框中

[英]How to combine this list/dict in one dataframe in Python

我是 python 和 pandas 數據框的新手,我有這個列表/字典輸出,我需要將它組合到一個數據框中。 我無法將其合並到一個數據框中並將其保存到一個 csv 中。

data = [{"TimePeriod_Start":"2022-10-01","TimePeriod_End":"2022-10-02","PLATFORM":"TEST1","A":"0.30001","B":"0.0002","C":"0.00003","D":"0.000047","D":"0.0003","E":"0.00006"}][{"TimePeriod_Start":"2022-10-01","TimePeriod_End":"2022-10-02","PLATFORM":"TEST2","C":"0.700003","D":"00001","D":"00005","E":"00005","F":"0.000008","G":"000.245","H":"1.111258","I":"0000.1236"}]

這應該工作

import pandas as pd
data = [
    {
        "TimePeriod_Start": "2022-10-01",
        "TimePeriod_End": "2022-10-02",
        "PLATFORM": "TEST1",
        "A": "0.30001",
        "B": "0.0002",
        "C": "0.00003",
        "D": "0.0003",
        "E": "0.00006",
    }
]
data2 = [
    {
        "TimePeriod_Start": "2022-10-01",
        "TimePeriod_End": "2022-10-02",
        "PLATFORM": "TEST2",
        "C": "0.700003",
        "D": "00005",
        "E": "00005",
        "F": "0.000008",
        "G": "000.245",
        "H": "1.111258",
        "I": "0000.1236",
    }
]

d = data+data2
df = pd.DataFrame.from_records(d).to_csv("filePath")

或者干脆

pd.DataFrame(data + data2)
a = [{"TimePeriod_Start":"2022-10-01","TimePeriod_End":"2022-10-02","PLATFORM":"TEST1","A":"0.30001","B":"0.0002","C":"0.00003","D":"0.000047","D":"0.0003","E":"0.00006"}]
b = [{"TimePeriod_Start":"2022-10-01","TimePeriod_End":"2022-10-02","PLATFORM":"TEST2","C":"0.700003","D":"00001","D":"00005","E":"00005","F":"0.000008","G":"000.245","H":"1.111258","I":"0000.1236"}]

我不確定您想要與哪個數據框結合使用。 這是你想要的嗎?

pd.DataFrame(a + b)

    TimePeriod_Start    TimePeriod_End  PLATFORM    A   B   C   D   E   F   G   H   I
0   2022-10-01  2022-10-02  TEST1   0.30001 0.0002  0.00003 0.0003  0.00006 NaN NaN NaN NaN
1   2022-10-01  2022-10-02  TEST2   NaN NaN 0.700003    00005   00005   0.000008    000.245 1.111258    0000.1236

您可以使用:

pd.DataFrame.from_dict(data[0], orient='index').T

結果: 在此處輸入圖像描述

缺少方括號和逗號。 真正的格式必須是這樣的:

data = [[{"TimePeriod_Start":"2022-10-01","TimePeriod_End":"2022-10-02","PLATFORM":"TEST1","A":"0.30001","B":"0.0002","C":"0.00003","D":"0.000047","D":"0.0003","E":"0.00006"}],[{"TimePeriod_Start":"2022-10-01","TimePeriod_End":"2022-10-02","PLATFORM":"TEST2","C":"0.700003","D":"00001","D":"00005","E":"00005","F":"0.000008","G":"000.245","H":"1.111258","I":"0000.1236"}]]

df = pd.json_normalize(data)[0].apply(pd.Series)
'''
|    | TimePeriod_Start   | TimePeriod_End   | PLATFORM   |         A |        B |        C |      D |     E |       F |       G |         H |        I |
|---:|:-------------------|:-----------------|:-----------|----------:|---------:|---------:|-------:|------:|--------:|--------:|----------:|---------:|
|  0 | 2022-10-01         | 2022-10-02       | TEST1      |   0.30001 |   0.0002 | 3e-05    | 0.0003 | 6e-05 | nan     | nan     | nan       | nan      |
|  1 | 2022-10-01         | 2022-10-02       | TEST2      | nan       | nan      | 0.700003 | 5      | 5     |   8e-06 |   0.245 |   1.11126 |   0.1236 |
'''

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM