我有一个熊猫系列,如下所示:import pandas as pdimport numpy as nps = pd.Series(np.array([20201018, 20201019, 20201020]), index = [0, 1, 2])s = pd.to_datetime(s, format='%Y%m%d')print(s)0 2020-10-181 2020-10-192 2020-10-20dtype: datetime64[ns]我想检查该系列中是否存在日期 2020-10-18。如果我执行以下操作,我就会得到错误的结果。date = pd.to_datetime(20201018, format='%Y%m%d')print(date in s)我猜这是因为系列中包含类型中的日期datetime64[ns],而我创建的对象的类型为“pandas._libs.tslibs.timestamps.Timestamp”。我怎样才能检查日期是否存在于这样的系列中?
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
实际上date in s
会检查date
in s.index
。例如:
0 in s
返回,True
因为s.index
是[0,1,2]
。
对于这种情况,使用比较:
s.eq(date).any()
或者,对于多个日期,请使用isin
:
s.isin([date1, date2]).any()
添加回答
举报
0/150
提交
取消