首页 > 解决方案 > Python DataFrame通过计算动态重复列

问题描述

我有一个函数可以在代码的其他部分进行一些计算。我让它根据用户在前面部分中指示的输入(二进制)数量动态重复计算。计算正在运行,但我无法在数据框中创建多个列。如何获得为“while”循环的每次重复创建一个新列的函数?这甚至可能吗?我尝试创建 9 列以查看是否可行,但出现“列不匹配”错误。

def multipleldlc():
    outputldlc = pd.DataFrame(columns=["ldldcisfhprob1", "ldldcisfhprob2", "ldldcisfhprob3", "ldldcisfhprob4", "ldldcisfhprob5", "ldldcisfhprob6", "ldldcisfhprob7", "ldldcisfhprob8", "ldldcisfhprob9"])
    y = 0
    numcols = len(binary[0])
    print(numcols)
    while y < numcols:
        for item in binary:
            for i, j in pinput.iterrows():
                agej =j.values[0]
                ldlcj = j.values[1]
                totalcj = j.values[2]
                ldlcisfh = ldlcfh(agej, ldlcj, totalcj)
                ldlcisnotfh = ldlcfh(agej, ldlcj, totalcj)
                if item[y] == 0:
                    ldlcprob = ldlcisnotfh
                    outputldlc.loc[i] = [ldlcprob]
                else:
                    ldlcprob = ldlcisfh
                    outputldlc.loc[i] = [ldlcprob]
        y += 1
    print(outputldlc)
    return outputldlc

标签: pythonpandasdataframewhile-loop

解决方案


推荐阅读