Python “如何修复”;“索引超出范围”;数据帧出错?

Python “如何修复”;“索引超出范围”;数据帧出错?,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试使用其他人的信息创建一个新的data.frame 我已经尝试将索引序列转换为数组,但在中似乎不起作用,可能是因为我缺乏知识 import pandas as pd def forma_base(): dict_indices={"Escola":[],"Codigo da escola":[],"Formação ideal":[], "Alunos por turma":[],"Professores com formação superior":[],

我正在尝试使用其他人的信息创建一个新的data.frame

我已经尝试将索引序列转换为数组,但在中似乎不起作用,可能是因为我缺乏知识

import pandas as pd

def forma_base():
    dict_indices={"Escola":[],"Codigo da escola":[],"Formação ideal":[],
        "Alunos por turma":[],"Professores com formação superior":[],
        "Distorção idade-serie":[],"INSE":[],"Abandono":[],"Reprovação":[],
        "Matriculas no 3 ano":[],"Participação no Enem":[],
        "Media no Enem":[]}
    df_base=pd.DataFrame(dict_indices)

    return df_base


def preenche_escola():
    df_base=forma_base()
    bancos=importa_bancos()
    banco=bancos[0]

    for i in range(len(banco)):
        if banco["Dependência Administrativa"][i]=="Privada":
            continue
        else:
            df_base["Escola"][i].append(banco["Nome da Escola"][i])
            df_base["Codigo da escola"][i].append(banco["Código da Escola"][i])

    return df_base
输出为“IndexError:索引超出范围”


看起来您已经在第二个函数中设置了该循环,以检查另一个数据帧
banco
中的一行是否存在。另一种方法是先转储数据,然后有选择地删除行

def preenche_escola():
    df_base=forma_base()
    bancos=importa_bancos()
    banco=bancos[0] # I'm going to assume this extracts your desired DataFrame

    df_base["Escola"] = banco["Nome da Escola"]
    df_base["Codigo da escola"] = banco["Código da Escola"]
    df_base["Dependência Administrativa"] = banco["Dependência_Administrativa"]

    df_base = df_base[~df_base.Dependência_Administrativa.str.contains("Privada")]

    return df_base

如果您不需要[“Dependentência Administriva”]列,只需
df_base.drop(columns=[“Dependentência Administriva”],inplace=True)
after.

我认为您正在进行的迭代是不需要的。你能提供你拥有的数据和你想要实现的目标吗?