python - 根据列值删除行时 'column name' 上的语法无效

标签 python pandas dataframe

所以我根据列值删除行。我的 df 包含我正在过滤的两个特定列:['排除'、'丢失标志']。两列都包含二进制值。我通过以下方式删除了“排除”为 1 的所有行:

df = df[df.Exclude !=1]

一切都很好。然而,当我尝试对“Lost Flag”做同样的事情时:

df = df[df.Lost Flag !=1]

我在列名称上收到 SyntaxError。我已经三次检查了列名,尝试了下划线,没有空格,并尝试使用 `` 转义空格。然后我尝试了 pd.query:

df = df.query('Lost Flag !=1')

我也遇到了同样的语法错误。我觉得我错过了一些明显的东西。

最佳答案

尝试使用 ` 来表示空格:

df.query('`Lost Flag`!=1')

来自docs :

>>> df = pd.DataFrame({'A': range(1, 6),
...                    'B': range(10, 0, -2),
...                    'C C': range(10, 5, -1)})
>>> df
   A   B  C C
0  1  10   10
1  2   8    9
2  3   6    8
3  4   4    7
4  5   2    6

For columns with spaces in their name, you can use backtick quoting.

>>> df.query('B == `C C`')
   A   B  C C
0  1  10   10

关于python - 根据列值删除行时 'column name' 上的语法无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59633525/

相关文章:

python - Pandas - 将 CSV 读入数据框,其中一列具有不同数量的子列

python - elementtree:获取xml文档中特定标签的内容

python - 如何删除列中的特殊字符并将列转换为 float ?

python - 对目录中的多个文件执行python代码并将多个文件输出到另一个目录

python - 获取 pandas.read_csv 以将空值读取为空字符串而不是 nan

regex - 通过精确单词匹配过滤 pandas 数据框

java - 无法在 Mac OS X 上通过套接字进行通信

python - pandas-datareader 世界银行 API 损坏

r - 如何在合并时有条件地替换 R data.table 列?

python - 如何在现有绘图中添加更多数据?