0

我正在尝试将列表中的值与数据框列的值进行比较。如果两者相等,我想保存数据框的整行。我无法编写指令来保存数据帧的整行。

以下是数据框和列表的一些数据:

print(approval_polls.head(5))

 start_date    end_date         pollster    sponsor  sample_size population  \
0  2020-02-02  2020-02-04           YouGov  Economist       1500.0          a   
1  2020-02-02  2020-02-04           YouGov  Economist        376.0          a   
2  2020-02-02  2020-02-04           YouGov  Economist        523.0          a   
3  2020-02-02  2020-02-04           YouGov  Economist        599.0          a   
4  2020-02-07  2020-02-09  Morning Consult        NaN       2200.0          a   


excel_doc = ['Monmouth University' 'Selzer & Co.' 'ABC News/The Washington Post'
 'Siena College/The New York Times Upshot' 'YouGov']

我开始写的代码如下:

approval_polls = approval_polls[approval_polls['pollster'].isin(excel_doc)]

我得到的结果是不对的。

print (approval_polls)

[start_date, end_date, pollster, sponsor, sample_size, population, ...]

这里有什么问题?

谢谢你的建议

4

1 回答 1

0

是的,isin这是要走的路

excel_doc = ['Monmouth University' 'Selzer & Co.' 'ABC News/The Washington Post'
             'Siena College/The New York Times Upshot', 'YouGov']

df = df[df['pollster'].isin(excel_doc)]
于 2021-05-27T18:51:55.740 回答