我想使用 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'])]
牛魔王的故事
TA贡献1830条经验 获得超3个赞
使用isin
:
popdemo_df.loc[popdemo_df['Name'].isin(['Richmond city','Landsdowne'])]
慕的地8271018
TA贡献1796条经验 获得超4个赞
逗号用于分隔df.loc
括号内的行和列。要组合条件,您可以使用&
for and
、|
foror
和~
for not
。
试试这个:
popdemo_df.loc[:, popdemo_df['Name'] == 'Richmond city' | popdemo_df['Name'] == 'Landsdowne']
添加回答
举报
0/150
提交
取消