Selezionare quelli con una colonna specifica:
In [11]: df[df['from_date'] == 19951227]
Out[11]:
instrument type from_date to_date
0 96000001 W/D & V/L 19951227 19960102
1 96000002 DEED TRUST 19951227 19960102
o combinare diverse query (è possibile utilizzare |
a favore o)
In [12]: df[(19951227 <= df['from_date']) & (df['to_date'] <= 19960102)]
Out[12]:
instrument type from_date to_date
0 96000001 W/D & V/L 19951227 19960102
1 96000002 DEED TRUST 19951227 19960102
2 96000003 WARNTY DEED 19951228 19960102
3 96000004 DEED TRUST 19951228 19960102
4 96000005 W/D & V/L 19951228 19960102
pena notare che queste colonne non sono oggetti datetime/timestamp. ..
Per convertire queste colonne in data e ora è possibile utilizzare:
In [21]: pd.to_datetime(df['from_date'].astype(str))
Out[21]:
0 1995-12-27 00:00:00
1 1995-12-27 00:00:00
2 1995-12-28 00:00:00
3 1995-12-28 00:00:00
4 1995-12-28 00:00:00
Name: from_date, dtype: datetime64[ns]
In [22]: df['from_date'] = pd.to_datetime(df['from_date'].astype(str))
In [23]: pd.to_datetime(df['from_date'].astype(str)) # do same for to_date
e query tramite stringa rappresentazione della data:
In [24]: df['1995-12-27' == df['from_date']]
Out[24]:
instrument type from_date to_date
0 96000001 W/D & V/L 1995-12-27 00:00:00 19960102
1 96000002 DEED TRUST 1995-12-27 00:00:00 19960102
fonte
2013-06-12 19:12:41
Andy Hayden, pistole più veloci del west. –
http://en.wikipedia.org/wiki/The_Typing_of_the_Dead –
Cosa ne pensi di fare qualcosa come df ['1995-12-27'> = df ['from_date'] & df ['1997-12-27' <= df ['from_date']]? – Aidis