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']
抓得好。这就解决了问题。