gpt4 book ai didi

python - 以变​​量作为列名的 Pandas 查询

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:02 24 4
gpt4 key购买 nike

传递新的信息应用我了解到这是另一个问题的一部分:Unable to query a local variable in pandas 0.14.0

感谢用户@choldgraf。我以不同的方式应用他在上述链接中的回答。

目标:使用变量作为查询中的列名

失败的例子:

import pandas as pd
fooframe = pd.DataFrame({'Size':['Large', 'Medium', 'Small', 'Tiny'], 'Color':[1, 2, 3, 4]})
myvar = 'Size'
subframe = fooframe.query("myvar == 'Large'")

上面的代码返回 'myvar' 的键错误。

import pandas as pd
fooframe = pd.DataFrame({'Size':['Large', 'Medium', 'Small', 'Tiny'], 'Color':[1, 2, 3, 4]})
myvar = 'Size'
subframe = fooframe.query("@myvar == 'Large'")

上面的代码在查询中的 myvar 之前添加了“@”以将 myvar 引用为局部变量。但是,代码仍然返回错误。

最佳答案

感谢用户@choldgraf。我使用了他在另一篇文章 ( Unable to query a local variable in pandas 0.14.0 ) 中提到的技术,但不是针对列中的值,而是针对列名。

通过将变量插入查询字符串中,可以将变量用作 pandas 查询中的列名,如下所示:

import pandas as pd
fooframe = pd.DataFrame({'Size':['Large', 'Medium', 'Small', 'Tiny'], 'Color':[1, 2, 3, 4]})
myvar = 'Size'
subframe = fooframe.query("`{0}` == 'Large'".format(myvar))

(其中反引号用于括起列名,处理列名中的特殊字符和空格。)

关于python - 以变​​量作为列名的 Pandas 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49781626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com