我正在尝试使用其他信息创建新的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:索引超出范围”。
答案 0 :(得分:1)
您似乎已经在第二个函数中设置了该循环,以检查是否存在另一个DataFrame 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
如果您不需要[“DependênciaAdministrativa”]列,只需在df_base.drop(columns=["Dependência Administrativa"], inplace=True)
之后。