问题
I have a pandas dataframe with a column as datatime that looks like:
data.ts_placed
Out[68]:
1 2008-02-22 15:30:40
2 2008-03-20 16:56:00
3 2008-06-14 21:26:02
4 2008-06-16 10:26:02
5 2008-06-23 20:41:03
6 2008-07-17 08:02:00
7 2008-10-13 12:47:05
8 2008-11-14 09:20:33
9 2009-02-23 11:24:18
10 2009-03-02 10:29:19
I'd like to slice the dataframe by eliminating all rows before 2009
回答1:
You can use a simple string comparison to compare the values against a year string:
In [63]:
df.loc[df['date'] >= '2009']
Out[63]:
date
index
9 2009-02-23 11:24:18
10 2009-03-02 10:29:19
Or use the dt
attribute to access the year:
In [64]:
df.loc[df['date'].dt.year >= 2009]
Out[64]:
date
index
9 2009-02-23 11:24:18
10 2009-03-02 10:29:19
来源:https://stackoverflow.com/questions/31878699/slice-pandas-dataframe-based-on-datetime-column