【问题标题】:Concatenating Boolean to DataFrames sqlQuery str将布尔值连接到 DataFrames sqlQuery str
【发布时间】:2016-02-29 17:03:57
【问题描述】:

我正在尝试查询天气数据库以构建决策树。其中有 14 个实例,我正在根据我想要查询的预期子集制作新的数据帧,例如 -->

   new_data = data.query("'rainy' in Outlook")

将生成一个包含 5 个实例的新数据框。

 ID                                    
 D    rainy  mild     high  False   yes
 E    rainy  cool   normal  False   yes
 F    rainy  cool   normal   True    no
 J    rainy  mild   normal  False   yes
 N    rainy  mild     high   True    no

为了使我的程序更具动态性,我正在使用看起来像这样的已解析标头遍历数据集

    new_data = data.query("'rainy' in " + column_names[0])

其中 column_names[0] 等于 Outlook。这工作正常,但我遇到的问题是当我来到 Windy 时,它是一个布尔值。我的问题是如何将布尔值解析为字符串以进行 df 查询?目前我的代码是这样的

      new_data = data.query("'" + False + "' in Windy")

但我得到的错误是 TypeError:无法连接“str”和“bool”对象 我已经尝试了连接的许多变体,但还没有找到正确的格式,如果其他人遇到同样的问题,我们将不胜感激。

【问题讨论】:

    标签: python dataframe isqlquery


    【解决方案1】:

    您是否尝试过以下操作?

    new_data = data.query("'" + str(False) + "' in Windy")
    

    【讨论】:

    • 我没有,但它不会起作用,因为那时你正在对布尔值和字符串进行比较,它会指定它们不兼容。虽然它会避免编译错误,但不能解决问题:)
    • @Steve 你能把它检查为一个整数吗? 1/0 = 真/假?
    • 别担心,一旦你将整数解析为查询字符串,它就变成了一个字符串,并在它前面加上 case bool(1) 只会引发初始编译错误。
    猜你喜欢
    • 1970-01-01
    • 2014-08-10
    • 2018-04-04
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 2021-11-07
    • 2020-09-18
    相关资源
    最近更新 更多