ENH: support min/max on timedelta64[ns] Series by jreback · Pull Request #2990 · pandas-dev/pandas (original) (raw)
In [168]: df = DataFrame(dict(A = s - Timestamp('20120101')-timedelta(minutes=5,seconds=5),
.....: B = s - Series(date_range('2012-1-2', periods=3, freq='D'))))
.....:
In [169]: df
Out[169]:
A B
0 -00:05:05 -1 days, 00:00:00
1 23:54:55 -1 days, 00:00:00
2 1 days, 23:54:55 -1 days, 00:00:00
In [170]: df.min()
Out[170]:
A -00:05:05
B -1 days, 00:00:00
dtype: timedelta64[ns]
In [171]: df.min(axis=1)
Out[171]:
0 -1 days, 00:00:00
1 -1 days, 00:00:00
2 -1 days, 00:00:00
dtype: timedelta64[ns]
In [172]: df.idxmin()
Out[172]:
A 0
B 0
dtype: int64
In [173]: df.idxmax()
Out[173]:
A 2
B 0
dtype: int64
min, max operations are support on series, these return a single element timedelta64[ns] Series
(this avoids having to deal with numpy timedelta64 issues). idxmin, idxmax are supported as well.
In [306]: df.min().max()
Out[306]:
0 -00:05:05
dtype: timedelta64[ns]
In [307]: df.min(axis=1).min()
Out[307]:
0 -1 days, 00:00:00
dtype: timedelta64[ns]
In [308]: df.min().idxmax()
Out[308]: 'A'
In [309]: df.min(axis=1).idxmin()
Out[309]: 0