我有一个包含不同dtypes列的数据框,我需要 pandas.query用来过滤列.
列可以包含缺失值:NaN,None并且NaT我需要显示包含此类值的行.有没有办法在传递给的表达式中执行此操作pandas.query?我知道它可以使用不同的方法完成,但我需要知道它是否可以通过query
对于布尔列,我可以通过声明来使用解决方法:
df.query('col not in (True, False)')
Run Code Online (Sandbox Code Playgroud)
但这不适用于其他类型的列.任何帮助表示赞赏,包括解决方法.
NaN不等于它自己,所以你可以简单地测试一个列是否等于它自己来过滤它.这似乎也适用,None虽然我不确定为什么,它可能会NaN在评估期间的某些时候被抛弃.
df.query('col == col')
Run Code Online (Sandbox Code Playgroud)
对于日期时间,这可行,但感觉非常hacky,可能有更好的方法.
df.query('col not in [@pd.NaT]')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2389 次 |
| 最近记录: |