熊猫评估条件并转换为 0/1 整数



我正在尝试评估日期时间索引以确定日期是否等同于特定日期,并返回一个新系列作为包含条件结果为 0/1 的结果。

我的样品在:

rng = pd.period_range('2019-11-04', '2019-11-12', freq='D',name="Active_Date").to_timestamp()

外:

DatetimeIndex(['2019-11-04', '2019-11-05', '2019-11-06', '2019-11-07',
'2019-11-08', '2019-11-09', '2019-11-10', '2019-11-11',
'2019-11-12'],
dtype='datetime64[ns]', name='Active_Date', freq='D')

例如,如果我的评估条件是"2019-11-06",我希望返回以下内容:

Int64Index([0,0,1,0,0,0,0,0,0],
dtype='int64', name='Active_Date')

有人可以指出我正确的方向吗?

将索引与"评估条件"进行比较,然后将布尔值结果转换为 Int64Index:

pd.Int64Index(rng == '2019-11-06')
# Int64Index([0, 0, 1, 0, 0, 0, 0, 0, 0], dtype='int64')

您可以简单地与dt.datetime对象进行比较。

import datetime as dt
split = series > dt.datetime(2019, 11, 6)

最新更新