如果我使用使用字符串变量
df.loc[(origFull['abc'] == 111)]
,将工作过程中。
然后
test = '(origFull[\'abc\'] == 111)'
df.loc[@test]
或
df.loc['@test']
但是都没有成功。
如果我使用使用字符串变量
df.loc[(origFull['abc'] == 111)]
,将工作过程中。
然后
test = '(origFull[\'abc\'] == 111)'
df.loc[@test]
或
df.loc['@test']
但是都没有成功。
有几件事情是错误的:
1:你想测试是一个值(一个布尔值是准确的),如果您在它们周围添加单引号,则test
会变成一个字符串。做到这一点,而不是:
test = origFull['abc'] == 111
2:@
符号不是蟒蛇有效语法,当它用于装饰除外。要使用测试作为变量,只需编写test
而不需要@
。
df.loc[test]
定义测试时请将引号移开。
在loc里面,你基本上是在创建一个布尔变量。因此,设定测试等于布尔值,并用它作为一个布尔值指标:
test = (origFull['abc'] == 111)
df.loc[test]
它将在删除反斜杠后生效。非常感谢你,因为你是第一个回答这个问题,并带我走向正确的方向! – Windtalker
是的,对不起,只是复制粘贴并错过了反斜杠。 – Reen
实际上我想用测试变量来表示一个语句,但是你是对的,我不需要添加单引号。谢谢! – Windtalker