我想使用loc过滤Name
列的多个城市
我尝试使用几个列名进行过滤:
popdemo_df.loc[popdemo_df['Name'] == 'Richmond city', ['Name'] == Landsdowne']
我收到以下错误:
解析时出现错误的意外EOF
答案 0 :(得分:0)
使用isin
:
popdemo_df.loc[popdemo_df['Name'].isin(['Richmond city','Landsdowne'])]
答案 1 :(得分:0)
要合并Boolean indices,您需要将它们用括号括起来并使用按位运算符&
,|
或~
,如下所示:
# 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'])]
答案 2 :(得分:0)
逗号用于分隔df.loc
括号内的行和列。要组合条件,您可以将&
用于and
,将|
用于or
,将~
使用not
。
尝试以下方法:
popdemo_df.loc[:, popdemo_df['Name'] == 'Richmond city' | popdemo_df['Name'] == 'Landsdowne']