猿问

在python中创建一个datetime64[ns]类型的对象

我有一个熊猫系列,如下所示:


import pandas as pd

import numpy as np

s = 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-18

1   2020-10-19

2   2020-10-20

dtype: 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”。我怎样才能检查日期是否存在于这样的系列中?


尚方宝剑之说
浏览 122回答 1
1回答

弑天下

实际上date in s会检查datein s.index。例如:0 in s返回,True因为s.index是[0,1,2]。对于这种情况,使用比较:s.eq(date).any()或者,对于多个日期,请使用isin:s.isin([date1, date2]).any()
随时随地看视频慕课网APP

相关分类

Python
我要回答