Python//Pandas-仅选择给定列中具有特定条件的行

Python//Pandas-仅选择给定列中具有特定条件的行,python,pandas,Python,Pandas,我有一个数据帧: df: Estado: Telefone 0 SP (11) 2162-0660 / (11) 2162-0639 1 RJ (11) 3144-4000 2 SC (62) 3878-8150 3 RS (11) 4593-7403 4 PR

我有一个数据帧:

df:

    Estado:                        Telefone 
0        SP  (11) 2162-0660 / (11) 2162-0639
1        RJ                   (11) 3144-4000
2        SC                   (62) 3878-8150
3        RS                   (11) 4593-7403
4        PR  (19) 3313-5680 / (19) 3313-6000
5        PE                   (81) 3316-0586
6        GO                   (19) 3423-8000
...
[379 rows x 2 columns]
我只想将来自SP、RJ、RS或PR状态(
'Estado:“
)的项放入新的数据框中

我试过下面这句话:

lista=lista.loc[lista['Estado:'] == ('RJ' or 'SP' or 'PR' or 'RS')]
然而,它给我带来了一个非常有限的列表,所有项目都有
Estado:
are
RJ

lista: 

    Estado:                        Telefone 
16       RJ                   (31) 3263-9664
47       RJ                   (21) 3575-0600
48       RJ                   (21) 3221-0000
60       RJ                   (11) 2118-9500
69       RJ  (21) 2677-1077 / (21) 2252-1989
82       RJ                   (21) 3224-8091
83       RJ                              NaN
105      RJ  (24) 2233-1877 / (24) 2233-1874
140      RJ                   (31) 3660-9100
143      RJ                   (21) 2277-2000
175      RJ                   (21) 3435-1002
216      RJ                   (21) 9428-1902
218      RJ  (21) 2142-1482 / (21) 2142-1480
235      RJ                   (11) 3468-2098
274      RJ                              NaN
315      RJ                   (21) 2676-9196
[16 rows x 2 columns]
有人能帮忙吗

编辑:

我尝试了
isin
,但出现错误:

TypeError:isin()接受2个位置参数,但给出了5个


您需要将
[]
添加到,因为参数
是:

:设置或列出类似值

要测试的值的顺序。传入单个字符串将引发TypeError。相反,将单个字符串转换为一个元素的列表


TypeError:isin()接受2个位置参数,但给出了5个


使用-
lista=lista[lista['Estado:'].isin(['RJ','SP','PR','RS'])]
我之前查看了一些与isin相关的帖子,并实际试用了它,但他们没有解释如何将它用于多个项目(我遇到了一些错误,比如“isin只接受两个参数,你有四个”。根据你的提示,我注意到我应该使用这些括号,它起了作用。Tks!超级,gald可以帮助!祝你好运!你是对的@jezrael,但是它不是非常清楚,可能会让像我这样的初学者感到困惑。我认为保留这一个是有效的,以防像我这样的人出现错误。)我补充回答,但首先在问题中加上你们的错误。
lista=lista[lista['Estado:'].isin(['RJ' , 'SP' , 'PR' , 'RS'])]
print (lista)
  Estado:                         Telefone
0      SP  (11) 2162-0660 / (11) 2162-0639
1      RJ                   (11) 3144-4000
3      RS                   (11) 4593-7403
4      PR  (19) 3313-5680 / (19) 3313-6000
lista=lista[lista['Estado:'].isin('RJ' , 'SP' , 'PR' , 'RS')]
print (lista)