所以我有一个pandas数据框,我想根据列中的特定值从中选择某些行。 以下伪代码对我有用:
df.query('Col1 == "zz" and Col2 == "yy"')
并返回在Col1中具有“ zz”和在Col2中具有“ yy”的所有行。但是,如果字符串包含撇号,我会遇到问题。例如
df.query('Col1 == "zz" and Col2 == "yy's"')
python引发语法错误。我考虑过只从字符串中删除撇号,但这是一个位置名称,保留它会更正确。我该如何解决这个问题/我可以使用什么呢?
答案 0 :(得分:2)
您可以这样做:
df.query('Col1 == "zz" and Col2 == "yy\'s"')
答案 1 :(得分:2)
像上一个答案一样转义特殊字符是一种可靠的方法。另一种方法是使用多行引号:
df.query("""Col1 == "zz" and Col2 == "yy's"""")
答案 2 :(得分:1)
您的问题是python将撇号解释为特殊字符。因此,解决方案是对查询字符串加三引号,如下所示:
df.query('''Col1 == "zz" and Col2 == "yy's"''')
希望能对您进行排序。