功能返回空数据框

2024-09-28 21:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个循环来创建一个dataframe,它收集一个输入dataframe的行,这些行有公共点。 我的问题是:当我应用函数时,输出数据帧是空的。。。 然而,在循环中有一个打印(输出),我们可以看到程序可以工作。。我不明白,我试着改变返回位置,但没用

提前感谢您的帮助!在

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) 

Tags: indataframeforoutputlenifrangeloc
1条回答
网友
1楼 · 发布于 2024-09-28 21:26:18

我想你想改变一下

group(df,IDCTV,df_groups)

^{pr2}$

现在您正在调用group函数并执行所有的计算,但是您没有将输出保存到任何地方。因此,当您运行print(df_groups)时,它会打印出调用函数之前的任何内容。在

相关问题 更多 >