【发布时间】:2013-12-31 04:01:53
【问题描述】:
我想在candidate_id 中的startdate 和enddate 中找到最小日期,但是skipna。startdate 和enddate 列是datetime64 格式。保证数据至少 startdate 或 enddate 之一不应为空。而且我不想使用fillna。
>>> selected= dat[((pd.notnull(dat['startdate'])) | (pd.notnull(dat['enddate'])))][['candidate_id','startdate','enddate']]
>>> f=selected[200:206]
>>> f
candidate_id startdate enddate
239 10038 2001-01-01 00:00:00 2008-01-01 00:00:00
240 10038 1994-01-01 00:00:00 2001-01-01 00:00:00
241 10038 1992-01-01 00:00:00 1994-01-01 00:00:00
242 1003 2006-01-01 00:00:00 2013-06-12 00:00:00
243 1003 1985-01-01 00:00:00 2005-07-01 00:00:00
244 10040 1994-01-01 00:00:00 NaT
>>> k=f.groupby('candidate_id')[['startdate','enddate']].min()
>>> k
startdate enddate
candidate_id
1003 1985-01-01 00:00:00 2005-07-01 00:00:00
10038 1992-01-01 00:00:00 1994-01-01 00:00:00
10040 1994-01-01 00:00:00 NaN
我试过了:
>>> k.min(axis=1, skipna=True)
candidate_id
1003 NaN
10038 NaN
10040 NaN
我想要的是:
candidate_id
1003 1985-01-01 00:00:00
10038 1992-01-01 00:00:00
10040 1994-01-01 00:00:00
谢谢!
【问题讨论】:
标签: python datetime pandas nan min