Python 如何更改datetime64数据类型系列中所有实例的值

Python 如何更改datetime64数据类型系列中所有实例的值,python,pandas,Python,Pandas,数据集有一列,其日期格式为“DD-MM-YY”。在检查日期列中的年值时,注意到一些条目被错误地记为“73年11月12日”,而应为“13年11月12日”。在数据帧中加载数据集时,格式将转换为datetime64数据类型,其中一个年份为“1973”。如何替换日期列中的所有此类值 date = df.LAST_RECEIPT_DATE 我将该列提取为一个系列 date.map(lambda t: t.date().year).unique() 这就是我检查唯一年份值的方式 date[date.d

数据集有一列,其日期格式为“DD-MM-YY”。在检查日期列中的年值时,注意到一些条目被错误地记为“73年11月12日”,而应为“13年11月12日”。在数据帧中加载数据集时,格式将转换为datetime64数据类型,其中一个年份为“1973”。如何替换日期列中的所有此类值

date = df.LAST_RECEIPT_DATE
我将该列提取为一个系列

date.map(lambda t: t.date().year).unique()
这就是我检查唯一年份值的方式

 date[date.dt.year==1973].map(lambda t:t.replace(year=2013))
这就是我执行替换操作的方式。但是,在将上述行指定为最新时,它不会更新原始系列。如何更新原始列

假设我们有一个df:

df
    date
0   2012-11-12
1   1973-11-12
然后我们可以替换为:

df.date[df.date.dt.year == 1973] = df.date[df.date.dt.year == 1973].map(lambda t: dt.datetime(2012, t.month, t.day))
df

    date
0   2012-11-12
1   2012-11-12
假设我们有一个df:

df
    date
0   2012-11-12
1   1973-11-12
然后我们可以替换为:

df.date[df.date.dt.year == 1973] = df.date[df.date.dt.year == 1973].map(lambda t: dt.datetime(2012, t.month, t.day))
df

    date
0   2012-11-12
1   2012-11-12

您还可以在解析之前更改字符串,对吗?将数据的代表性示例与所需的输出一起添加可能会有所帮助。有关更多信息,请参阅。您也可以在解析之前更改字符串,对吗?将数据的代表性示例与所需的输出一起添加可能会有所帮助。看更多。是的,我终于找到了解决办法。由于date是一个系列,通过在pd.update()方法中放置date[date.dt.year==1973].map(lambda t:t.replace(year=2013)),replace操作,我可以更改所有相关行。我认为更新方法在计算上会更有效。是的,我最终找到了解决方法。由于date是一个系列,通过在pd.update()方法中放置date[date.dt.year==1973].map(lambda t:t.replace(year=2013)),replace操作,我可以更改所有相关行。我认为更新方法在计算上会更有效。