布尔过滤器在Python中使用数据框上的时间戳值

时间:2016-08-31 10:05:25

标签: python pandas dataframe timestamp

我有一个从.csv文档创建的数据框。由于其中一列有日期,我使用了read_csv pandas parse_dates

df = pd.read_csv('CSVdata.csv', encoding = "ISO-8859-1", parse_dates=['Dates_column'])

日期范围从2012年到2016年。我想创建一个子数据框,只包含2014年的行。

我设法做到这一点的唯一方法是使用两个后续布尔过滤器:

df_a = df[df.Dates_column>pd.Timestamp('2014')]  # To create a dataframe from 01/Jan/2014 onwards.

df = df_a[df_a.Dates_column<pd.Timestamp('2015')] # To remove all the values after 01/jan/2015

有没有办法一步到位,更有效率?

非常感谢!

1 个答案:

答案 0 :(得分:4)

您可以使用dt accessor

df = df[df.Dates_column.dt.year == 2014]