问题描述
我正在努力通过数据帧中的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比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!