当迭代2列重复项时,即使有重复值也不会显示输出

时间:2018-08-01 07:32:35

标签: python pandas dataframe

我正在遍历2列。当我找到一个重复项时,我想输出与其他列的该行相对应的值。我使用了以下逻辑:

n = df.values


val = 0
cpval=0
i=0
for id,cp in zip(n[:,2:3],n[:,1:2]):
    if(id is val and cp is cpval):
        print(id)
        print(n[i,11])
        print(val)
        print(n[i-1,11])
        val=id
        cpval=cp
    else:
        val=id
        cpval=cp
    i=i+1

索引切片是正确的,并且一切都很好,但是没有显示输出,当我手动看到它时,有重复项。 else部分工作正常。

n[:,2:3]是浮点类型

n[:,1:2]是对象类型

逻辑错误吗?代码有什么问题?

数据框示例-

2013J   538210
2013B   538211
2013B   538221
2013B   538232
2013B   538232
2013B   538251
2013B   538611
2013B   538701
2013J   538863
2013J   538887
2014B   538887
2013B   538897
2013J   538903

对于此数据,我需要输出-

538232
Fail      #(this value is in another column at n[i,11], i is the count 
            of the row)
538232
Withdrawn

当我打印id和cd时,其中一个元素就是这样-

(array([3733], dtype=object), array(['2013J'], dtype=object))

这可能是问题

0 个答案:

没有答案