我有一个不同名称的列表。我想一次取一个名字,并将其与数据框中特定列中的值匹配。如果满足条件,将执行以下计算:
orderno == orderno + 1
但是,不幸的是,该代码似乎不起作用。我有什么办法确保它能正常工作?
DfCustomers['orderno'] = 0
for i in uniquecustomer:
if i == "DfCustomers['EntityName']":
orderno == orderno + 1
答案 0 :(得分:0)
删除引号(“”)。通过写
if i == "DfCustomers['EntityName']":
您将变量i与实际字符串“ DfCustomers ['EntityName']”而不是变量DfCustomers ['EntityName']进行比较。尝试删除引号并打印出变量以了解它,例如
print("DfCustomers['EntityName']")
vs
print(DfCustomers['EntityName'])
答案 1 :(得分:0)
尝试首先删除“ DfCustomers ['EntityName']”周围的引号,以便不仅直接与该字符串进行比较。然后,在您的逻辑内,orderno变量应增加1,而不是与其值+ 1进行比较。新代码可能如下所示:
DfCustomers['orderno'] = 0
for i in uniquecustomer:
if i == DfCustomers['EntityName']:
orderno = orderno + 1