python - 如何更改 pandas 系列 datetime64 dtype 中所有实例的值

标签 python pandas

数据集有一列,其日期格式为“DD-MM-YY”。在检查日期列中的年份值时,我们注意到某些条目被错误地设置为 '12-nov-73' ,而本应为 '12-nov-13' 。将数据集加载到数据框中后,格式将转换为 datetime64 dtype,其中“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

关于python - 如何更改 pandas 系列 datetime64 dtype 中所有实例的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60122882/

相关文章:

Python得到正确的行尾

python - 项目分配 Tensorflow 2.0 - TypeError : 'tensorflow.python.framework.ops.EagerTensor' object does not support item assignment

python - 如何构建Python数据预处理管道的代码(用于生产)

Python Pychef : Not able to search attributes using class chef. 搜索

python - 数学域错误 math 与 cmath 不同的行为

python 、 Pandas 。如何根据观察数分配分组数?

python - 如何从包含数字序列的两列中提取数字范围并打印两列中的范围(不同的增量值)?

python - Pandas Dataframe 一次追加一行到 CSV

python - 使用 pandas/python 格式化 txt 文件

Python - 如何使用多个分隔符拆分列值