我的df
是下面给出的每小时数据集:
time Open
2017-01-01 00:00:00 5.2475
2017-01-01 01:00:00 5.2180
2017-01-01 02:00:00 5.2128
...., ....
2017-12-31 23:00:00 5.7388
如果与该列表中的row
Date
相匹配,我想删除/删除Series
:
remove = ['2017-01-01','2017-05-21', '2017-09-19']
请注意,remove
中的数据是单个Day
,而df
中的数据是hourly
。
我想删除与hourly
中的Day
匹配的所有remove
数据
我做了什么?
1:我尝试了df2 = df[~df.time.str.startswith(remove)]
,但是它不起作用,并给了我浮点错误。
2:我也尝试过df2 = df[~df.time.isin(a)]
,但只有部分匹配完全不匹配时,它才会删除。
您能帮我解决这个问题吗?
答案 0 :(得分:2)
尝试
df2 = df[~df.time.dt.normalize().isin(remove)]
.normalize
删除数据的时间元素,以便您可以与日期进行匹配。
print(df2)
time Open
4 2017-12-31 23:00:00 5.7388