在数据帧输入方面比较一列与其他列以提高数据质量

时间:2019-05-16 15:47:48

标签: python-3.x

我有一个数据框,其中包含数字变量和分类变量(共200列)。我需要基于此数据帧生成规则(简短的数据质量,数据中没有任何标签)。示例:如果填充了A列,那么大多数情况下也应按照规则1填充B列。

因此,首先,我想捕获列表中value不为null的列的索引。然后进行设置操作以查找两列之间的重叠。 请让我知道我的方法是否正确。还是有其他更好的方法。

因此,我开始为其编写代码,并且在矩阵中得到了全零。这是它的代码:

matrix={}
dat = np.zeros((len(columns),len(columns)))
for col in (columns):
    matrix[col]=data[data[col].notnull()].index.tolist()
    #print(matrix)


matrix2=pd.DataFrame(matrix.items())
matrix2 = pd.DataFrame(matrix2).reset_index()
matrix2.columns = ['index','variable', 'value']
matrix2=matrix2[["variable","value"]]


values1=list(matrix2["value"])

for i in range(len(columns)):
    for j in range(len(columns)):
        seta=set(values1[i])
        setb=set(values1[j])
        overlap= seta & setb

        result = (len(overlap) / 1000000) * 100
    dat[i,j]=result
print(dat)  


I am getting all zeros in the matrix.```

Values1 contains index position of row where value is not null.

    Values1
     []
     [1,2,3,4..10000]
       ..
       ..
     [1,....,900]


0 个答案:

没有答案