Python “如何修复”;“索引超出范围”;数据帧出错?
我正在尝试使用其他人的信息创建一个新的data.frame 我已经尝试将索引序列转换为数组,但在中似乎不起作用,可能是因为我缺乏知识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":[],
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.我认为您正在进行的迭代是不需要的。你能提供你拥有的数据和你想要实现的目标吗?