pandas 当我尝试创建一个if时,会出现名称错误:名称'qtd'未定义

vc9ivgsu  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(100)

我试图找出一个值在工作表中的位置,我把这个值存储在一个变量中。

list = df['Quantidade de Cotas'].tolist()
qtd = 2136252.54442995
print(qtd)

字符串
变量的值为2136252.54442995,因此定义了

> 2136252.54442995


但如果我试着执行一个如果

res = [i for i,j in enumerate(list) if j == qtd]

print(res)


出现此错误,说明变量未定义

> NameError: name 'qtd' is not defined


如果我运行完全相同的代码,但不是变量,而是把她的值,如果工作,并返回列表中的正确位置

list = df['Quantidade de Cotas'].tolist()
qtd = 2136252.54442995
print(qtd)

> 2136252.54442995

res = [i for i,j in enumerate(list) if j == 2136252.54442995]

print(res)

> [0]


有人可以帮助我使这个代码这样工作吗?

list = df['Quantidade de Cotas'].tolist()
qtd = 2136252.54442995
res = [i for i,j in enumerate(list) if j == qtd]

print(res)

> [0]

jslywgbw

jslywgbw1#

import pandas as pd

df = pd.DataFrame({'Quantidade de Cotas': [10, 20, 10, 40, 50]})

list = df['Quantidade de Cotas'].tolist()
# qtd = 2136252.54442995
qtd = 10

res = [i for i,j in enumerate(list) if j == qtd]
print(res)

字符串

输出:[0,2]

你的代码是正确的,但要确保你定义了'qtd',然后在列表理解中使用它。

相关问题