【发布时间】:2018-04-26 16:59:31
【问题描述】:
我想创建一个循环来创建一个数据框,该数据框收集输入数据框的线条,这些线条具有共同点。 我的问题:当我应用函数时,输出数据框是空的...... 然而在循环中打印(输出),我们看到程序可以工作..我不明白,我试图改变返回位置,但那不起作用
提前感谢您的帮助!
def group (dataframe, identifiant, output):
for i in range(len(identifiant)):
ident = identifiant.loc[i,"IDCTV"]
# print(ident)
for j in range(len(dataframe)):
if dataframe.loc[j,"IDCONTREVENANT"] == ident:
di = dataframe.loc[j, "DATE_INFRACTION"]
nt = dataframe.loc[j,"NOTRAIN"]
genre = dataframe.loc[j,"CODEETATCIVIL"]
age = dataframe.loc[j,"AGE"]
# print(di, nt, genre, age)
for k in range(len(dataframe)):
if k != j :
if dataframe.loc[k,"DATE_INFRACTION"] == di and dataframe.loc[k,"NOTRAIN"] == nt:
idgroup = dataframe.loc[k,"IDCONTREVENANT"]
genreidgroup = dataframe.loc[k,"CODEETATCIVIL"]
ageidgroup = dataframe.loc[k,"AGE"]
output = output.append({ "IDREF" : ident ,"CODEETATCIVILREF" : genre,"AGEREF" : age ,"IDCTV" : idgroup,"CODEETATCIVILCTV" : genreidgroup,"AGECTV" : ageidgroup}, ignore_index = True)
print(output)
return output
group(df,IDCTV,df_groups)
print(df_groups)
【问题讨论】:
-
是不是和你的代码一模一样?因为您需要缩进 def 行以下的所有内容。
-
感谢回答是的,就是这样,我不能缩进 def 行以下的所有内容,因为我的循环在循环中
-
为什么这会阻止你缩进它? Python 要求您缩进函数中的行。
-
何对不起,你是对的,不,我的代码不是这样的,我在 def 下面有缩进,没有问题。
-
因此,我不知道是什么问题......
标签: python pandas dataframe return append