类型错误:|: 'str' 和 'bool 与熊猫的不受支持的操作数类型



我正试图将以下条件存储在变量excel_filted中excel_filtered = excel[excel['prowess_compustat_h1b'] == 1] | excel['compustat_h1b'] == 1

但是我得到以下错误

TypeError: unsupported operand type(s) for |: 'str' and 'bool'

编辑

这是一个简单的语法错误,末尾缺少一个括号。正确答案如下:

excel_filtered = excel[excel['prowess_compustat_h1b'] == 1] | excel['compustat_h1b'] == 1]

似乎你把方括号放错了地方。这是最好的做法,在评估多个布尔标准时使用括号。

excel_filtered = excel[(excel['prowess_compustat_h1b'] == 1) | (excel['compustat_h1b'] == 1)]

同样对于这些类型的操作,我发现query方法可以提高可读性:

excel_filtered = excel.query("(prowess_compustat_h1b == 1) | (compustat_h1b == 1)"

相关内容

最新更新