Python 使用isin过滤数据帧

Python 使用isin过滤数据帧,python,pandas,Python,Pandas,我有一个由如下形状文件组成的数据帧: STATEFP COUNTYFP COUNTYNS AFFGEOID GEOID NAME LSAD ALAND AWATER geometry 1661 21 149 00516927 0500000US21149 21149 McLean 06 653906322 9735021 POLYGON ((-87.49992 37.63927, -87.49835 37.642... 3001

我有一个由如下形状文件组成的数据帧:

STATEFP COUNTYFP    COUNTYNS    AFFGEOID    GEOID   NAME    LSAD    ALAND   AWATER  geometry
1661    21  149 00516927    0500000US21149  21149   McLean  06  653906322   9735021 POLYGON ((-87.49992 37.63927, -87.49835 37.642...
3001    38  055 01034232    0500000US38055  38055   McLean  06  5466428288  563110618   POLYGON ((-102.38570 47.80618, -102.38567 47.8...
3082    17  113 01784833    0500000US17113  17113   McLean  06  3064861155  7562638 POLYGON ((-89.26939 40.59433, -89.26902 40.594...
这只是一个更大的数据帧中的几行。现在,假设我想从大数据框中选择这3行。具体来说,我想根据它们的大地水准面来选择它们。所以我用这些特定的大地水准面创建了一个列表

codes2=[21149,38055,17133]
现在,让我们尝试使用isin过滤数据帧

df[df['GEOID'].isin(codes2)]
输出:

STATEFP COUNTYFP    COUNTYNS    AFFGEOID    GEOID   NAME    LSAD    ALAND   AWATER  geometry

为什么不工作?

检查
df['GEOID'].unique()
。我猜它们是字符串:
['21149','38055','17133']
抓得好。这解决了问题。请检查
df['GEOID'].unique()
。我猜它们是字符串:
['21149','38055','17133']
抓得好。这就解决了问题。