Фильтрация фрейма данных с использованием 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    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
  

Почему это не работает?

Комментарии:

1. Проверьте df['GEOID'].unique() . Я предполагаю, что это строки: ['21149', '38055', '17133']

2. Хороший улов. Это решило проблему.