【问题标题】:Add new column to DataFrame with same default value将具有相同默认值的新列添加到 DataFrame
【发布时间】:2021-11-24 13:19:08
【问题描述】:

我想添加一个基于“lNames”列表的名称列。但是我的代码在最后一次迭代中覆盖了整个列,如下所示:

import pandas as pd

def consulta_bc(codigo_bcb):
    url = 'http://api.bcb.gov.br/dados/serie/bcdata.sgs.{}/dados?formato=json'.format(codigo_bcb)
    df = pd.read_json(url)
    df['data'] = pd.to_datetime(df['data'], dayfirst=True)
    df.set_index('data', inplace=True)
    return df

lCodigos = [12, 11, 1, 21619, 21623, 12466]
lNames =   ['CDI', 'SELIC', 'USD', 'EUR', 'GPB', 'IMAB']

iter_len = len(lCodigos)
saida = pd.DataFrame()

for i in range(iter_len):
    saida = saida.append(consulta_bc(lCodigos[i]))
    saida['nome']= lNames[i]
saida.to_csv('Indice', sep=';', index=True)
saida

任何帮助将不胜感激

【问题讨论】:

    标签: python jupyter-lab


    【解决方案1】:

    以这种方式更改for循环:

    for i in range(iter_len):
        df = consulta_bc(lCodigos[i])
        df['nome'] = lNames[i]
        saida = saida.append(df)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2021-12-11
      • 1970-01-01
      相关资源
      最近更新 更多