python - 如何使用 loc on 过滤多个值
问题描述
我想使用 loc 过滤列的多个城市Name
我尝试使用几个列名进行过滤:
popdemo_df.loc[popdemo_df['Name'] == 'Richmond city', ['Name'] == Landsdowne']
我收到以下错误:
解析时错误的、意外的 EOF
解决方案
为了组合布尔索引,您需要用括号将它们括起来并使用按位运算符&
、|
或~
,如下所示:
# Selects rows where either condition is met
popdemo_df.loc[(popdemo_df['Name'] == 'Richmond city') | (popdemo_df['Name'] == 'Landsdowne')]
你也可以这样做Series.isin()
:
popdemo_df.loc[popdemo_df['Name'].isin(['Richmond city', 'Landsdowne'])]
推荐阅读
- vulkan - 是否可以在间接绘制调用中清除模板缓冲区?
- powershell - Get-Win-Event 如何使用 Powershell 通过 RecordId 过滤特定事件?
- php - Composer安装“最合适”的版本
- c++ - 我如何像这样打开控制台
- git - 删除 origin/Master 分支并将 origin/Develop 提升为 master
- apache-flink - 使用状态处理器 API 时无法读取状态
- scipy - 在python中求解微分方程组
- java - 程序中的数字格式异常
- java - 如何替换抽象类?(组合而不是继承) - 具体问题
- php - 如何在添加到购物车之前检查产品是否可以从外部 API 获得?