#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. Хороший улов. Это решило проблему.