python-3.x - Python:如何使用 ~ 来排除数据?
问题描述
在下面的代码中,我知道它正在返回缓冲区之外的所有记录,但我对这是如何发生的机制感到困惑。
我看到有一个“~”(也就是按位不)正在使用。通过一些谷歌搜索我对〜的理解是它返回它传递的输入中每个位的倒数,例如,如果该位为0,则返回1。如果不是有人可以请ELI5,这是否正确?
有人可以解释一下以下代码如何返回“my_union”缓冲区之外的记录的实际机制吗?
注意:医院和碰撞只是地理数据框。
coverage = gpd.GeoDataFrame(geometry=hospitals.geometry).buffer(10000)
my_union = coverage.geometry.unary_union
outside_range = collisions.loc[~collisions["geometry"].apply(lambda x: my_union.contains(x))]
解决方案
我不确定你所说的实际机制到底是什么意思,如果没有看到输入和输出就很难确定,但如果有帮助,我会在下面解释它:
碰撞数据框中几何列中包含my_union中的任何值的所有行都将被排除在新创建的outside_range数据框中。
推荐阅读
- npm - 是否可以从私有 npm 存储库中恢复已删除的包?
- xcode - 不显示合并冲突选项,因为文件中的冲突行太远
- python - 当输入不是来自文件时如何检测EOF?
- php - 仅限 Safari (macOS Sierra) 中的会话到期
- android - 如何在约束布局中覆盖视图?
- cplex - Cplex Refiner:如何仅添加现有的约束条件为左手或右手?
- node.js - 你应该多久更新一次角度/节点包
- hazelcast-jet - HazelcastJet 滚动聚合,删除以前的数据并添加新的
- javascript - 如何在按钮单击时提交表单
- javascript - 为什么在递归异步函数中添加 then 会使其返回未定义?