动态填充新列-Pandas

时间:2019-06-12 21:43:55

标签: python pandas loops

我在for循环中向src_df添加了一个新列,称为“ IS_MATCH”。根据两个数据帧src_df和stg_df中“ COUNT”列的比较,此数据应为“是”或“否”。

问题在于它会填充第一个结果,在这种情况下,所有行的结果均为“否”。我在底部的代码中添加了2条额外的打印语句:

print('No')
print('Yes')

所以我可以确保循环正确地工作。这两个的结果显示以下内容:

No
No
Yes
Yes
No

...这是正确的,但是数据框中的新列将显示以下内容:

IS_MATCH
No
No
No
No
No

这一定是我在循环中分配值的方式...

def merge_results(self):
    src_df = self.run_sql_src()
    stg_df = self.run_sql_stage() 
    counter = 0
    for count in src_df["COUNT"]:
        if count != stg_df["COUNT"][counter]:
            src_df["IS_MATCH"] = 'No'
            print('No')

        else:
            src_df["IS_MATCH"] = 'Yes'
            print('Yes')

        counter += 1

    print(src_df)

0 个答案:

没有答案