【发布时间】:2022-10-20 20:28:52
【问题描述】:
我有一个数据库,其中有一列名为 ['birth_date'],已使用以下方法转换字符串 -> 日期:
dataCopy.loc[:,'birth_date'] = dataCopy['birth_date'].astype('datetime64[ns]')
我还转换了我的数据库的其他列。 所以,正如你们中的一些人知道的那样,当 python 看到像 mm/dd/69 及以下这样的日期时,2 位数的年份日期(mm/dd/yy 或其他)存在问题,它假定年份是 2069 年而不是 1969 年。 问题是我需要用另一列减去此列,以选择我的客户取消服务时的年龄。例:他1969年出生,2019年取消服务,所以53岁。我已经知道我该怎么做:
dataCopy['idade'] = (dataCopy['deleted_at'].dt.year - dataCopy['birth_date'].dt.year)
但首先我需要修正错误的年份。使用格式(y%m%d 和变体)不起作用。我的意思是,他们工作,但他们不会修正错误的年份。我是初学者,已经尝试过我在 Stack 上看到的功能,但我无法修改它以匹配我的问题(而且我没有 100% 理解它)。我很感激任何帮助。
【问题讨论】:
标签: python pandas dataframe jupyter-notebook y2k