本文介绍了数据帧中的datetime64比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在努力通过数据帧中的datetime64比较来更新列.可以说我们有一个带有日期"列的数据框"df"

I am struggling with datetime64 comparisons in dataframes to update a column. lets say we have a dataframe 'df' with a 'date' column

df.date.values[0]
Out[128]: numpy.datetime64('2015-05-17T22:00:00.000000000+0800') 

我需要删除时间并只是进行日期比较,所以要提取日期,我要使用.date()

i needed to drop the time and just do a date comparison, so to extract the date i use .date()

df.date[0].date()
Out[131]: datetime.date(2015, 5, 17)

我先测试

df.date[0].date()==np.datetime64('2015-05-17')
Out[132]: True

所以一切似乎都很好,如果date列等于特定日期,我尝试做一个条件,将另一列更新为另一个值

So all seems good i try to do a condition if date column equal to a specific date, update another column into another value

df[df.date[0].date()==np.datetime64('2015-05-17')].flag=True

我收到KeyError:是

I get a KeyError: True

我该如何正确执行此操作?

how do i properly do this?

推荐答案

您是否尝试过以下方法:

Have you tried something like:

flag = pd.Series(np.where(df.date == np.datetime64('2015-05-17'), True, False), index=df.index)

flag将是一系列的True/False值,稍后您将使用.

flag will be a series of True/False values which you use later.

这篇关于数据帧中的datetime64比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 18:39