如何在python中将df转换为条件字符串?

如何在python中将df转换为条件字符串?,python,pandas,string,dataframe,re,Python,Pandas,String,Dataframe,Re,我是新来的熊猫,我面临着添加df到字符串的问题。因此,我有一个条件字符串语句,如“'bikes'>20”,其中bikes是数据帧中的列名。现在我想在“bikes”之前添加df,我该怎么做?我使用了下面的代码,但它不起作用 我的代码: x=“'bikes'>20” x=re.sub(r“([>=!如果您根据需要替换它,它将不工作,因为“df['bikes']>20”仍然是字符串,而不是按标量比较的列,如df['bikes']>20 以下是可能的用途: 工作方式如下: df = df.query(&

我是新来的熊猫,我面临着添加df到字符串的问题。因此,我有一个条件字符串语句,如
“'bikes'>20”
,其中bikes是数据帧中的列名。现在我想在“bikes”之前添加df,我该怎么做?我使用了下面的代码,但它不起作用 我的代码:

x=“'bikes'>20”

x=re.sub(r“([>=!如果您根据需要替换它,它将不工作,因为
“df['bikes']>20”
仍然是字符串,而不是按标量比较的列,如
df['bikes']>20

以下是可能的用途:

工作方式如下:

df = df.query("bikes > 20")
print (df)
   bikes
1     39
2     44
print (pd.eval("df.bikes> 20"))
编辑:包含以下内容的解决方案:

工作方式如下:

df = df.query("bikes > 20")
print (df)
   bikes
1     39
2     44
print (pd.eval("df.bikes> 20"))
对于我不工作:

print (pd.eval('df["bikes"]>20'))
    
ValueError:数据类型必须提供itemsize


虽然它是正确的。我在寻找其他东西。因此,当我添加df['bikes']>20时,它通常会给出正确和错误的结果。krish-我知道这是什么意思,但如果替换
df[]
,它就不起作用了,因为仍然是字符串。@krish like
(df.eval(“df['bikes']>20”))
有错误
未定义变量错误:未定义名称“df”
?@krish-答案中添加了
而不是
[]
,这是可能的。非常感谢它的工作
print (pd.eval('df["bikes"]>20'))