通过在Python中使用索引加入类DataFrame表

问题描述 投票:0回答:1

我将表格作为附件图像。当我检查其类型时,它说的是类“ pandas.core.frame.DataFrame”。我通过运行循环获得表。我想通过使用以下索引来继续合并/联接表。提前谢谢你的帮助!我附上我的代码,以防万一。

Joining Tables

# Loop credentials
for credential in config.api_credentials:
    # Parameters
    security_key = ''
    system_id = credential[0]
    name = credential[1]
    api_id = credential[2]
    api_pass = credential[3]
    solar_id = credential[4]
    solar_tables = {}
    auth_url = "https://example.com/customer/authenticate?login=" + \
        api_id + "&password=" + api_pass + "&json=1"

    res = requests.post(auth_url)
    data = res.json()

    if data.get('securitykey') == None:
        print("There is no securitykey")
    else:
        security_key = data.get('securitykey')

    get_historical_data_url = "https://example.com/location/getHistoricalData?security_key=" + \
        security_key + "&json=1&startTime=2013-02-14T23:59&period=months"
    res2 = requests.get(get_historical_data_url)
    res2_text = res2.text
    production_data = json.loads(res2_text)
    production_data2 = production_data.get(system_id).get('data')

    # Transpose columns and rows
    production_data3 = pd.DataFrame(production_data2).transpose()

    # Drop useless columns and only keep solar production data
    solar_data = production_data3.loc[:, [solar_id]]

    # Extract and replace production values to absolute values
    solar_data[solar_id] = solar_data[solar_id].str.get(
        'kWh').astype(float).abs()

    # Change Label to system id + name
    solar_data.rename(columns={solar_id: system_id+"_"+name}, inplace=True)

    # Change index from datetime to date only
    solar_data.index = solar_data.index.str.split().str[0]

    print(type(solar_data))
    print(solar_data)
python pandas dataframe
1个回答
0
投票
solar_data_list = []
# Loop credentials
for credential in config.api_credentials:
    # ...
    # at the end of the loop
    solar_data_list += [solar_data]

result = pd.concat(solar_data_list, axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.