为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 loc on 过滤多个值

如何使用 loc on 过滤多个值

慕姐4208626 2022-05-24 16:52:41
我想使用 loc 过滤列的多个城市Name我尝试使用几个列名进行过滤:popdemo_df.loc[popdemo_df['Name'] == 'Richmond city', ['Name'] == Landsdowne']我收到以下错误:解析时错误的、意外的 EOF
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

为了组合布尔索引,您需要用括号将它们括起来并使用按位运算符&,|或~,如下所示:


# 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'])]


查看完整回答
反对 回复 2022-05-24
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

使用isin

popdemo_df.loc[popdemo_df['Name'].isin(['Richmond city','Landsdowne'])]


查看完整回答
反对 回复 2022-05-24
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

逗号用于分隔df.loc括号内的行和列。要组合条件,您可以使用&for and|foror~for not

试试这个:

popdemo_df.loc[:, popdemo_df['Name'] == 'Richmond city' | popdemo_df['Name'] == 'Landsdowne']



查看完整回答
反对 回复 2022-05-24
  • 3 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信