Отфильтровать определенные строки с годом в датафрейме (пандас)?
Дана таблица (датафрейм), необходимо отфильтровать строки с данными за период с 2000 по 2015? Как можно сделать?
Пример таблицы:

gis14 = gis12['Year'].isin([2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015])
gis14[gis14]
Я попробовала сделать таким образом, но выходит : 
А мне необходима такая же таблица (Пример таблицы 1 скрин), только с периодом 2000 по 2015 года, чтобы построить график. Может кто-то сможет подсказать по данному вопросу?
Ответы (2 шт):
В первом куске кода у вас просто опечатка, либо вы не понимаете, что нужно делать с битовой маской. Маску нужно применять к исходному датафрейму, а не к самой себе, как сделали вы. Так всё работает:
gis14 = gis12['Year'].isin([2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015])
gis12[gis14]
^^^^^
Во втором куске кода у вас не хватает завершающей скобки. Этот код тоже работает:
gis15 = ((gis12['Year'] >= 2000) & (gis12['Year'] < 2016))
^
gis12[gis15]
Генерация данных для проверки, если кто будет ещё что-то делать с этим вопросом:
import pandas as pd
import numpy as np
gis12 = pd.DataFrame({'Year': np.random.randint(1990, 2020, 10), 'Global Sales': np.random.rand(10)*100}, dtype=float)
Можно воспользоваться методом DataFrame.query()
res = gis12.query('2000 <= Year <= 2015')
![скрин третий ошибка:TypeError: Invalid comparison between dtype=datetime64[ns] and int](https://i.stack.imgur.com/eoycV.png)