我在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)