gpt4 book ai didi

python - Pandas 日期时间转换与列之间的数学运算

转载 作者:行者123 更新时间:2023-12-01 01:26:46 25 4
gpt4 key购买 nike

我有一个包含各种列的数据框:我有两列是“出生日期”和“谋杀日期”。

出生日期如下: enter image description here

谋杀日期如下: enter image description here

我希望能够从 DOM 列中减去 DOB 列中的每一行,这样我就可以知道某人犯下谋杀罪时的年龄。有什么办法可以解决这个问题吗?现在它似乎正在发挥作用(大部分)。我进行了以下编辑:

df_1['Date of birth'] = pd.to_datetime(df_1['Date of birth'], 
errors
=
'coerce')
df_1['Date of Murder revised'] = pd.to_datetime(df_1['Date of
Murder
revised'], errors = 'coerce')
df_1['Date at Murder'] = (df_1['Date of birth'] - df_1['Date of
Murder
revised'])
print(df_1['Date at Murder'].head(10))

这给出了 m 以下输出: 0 -12395 天 1 -9941 天 2 -7651 天 3钠盐 4 -9313 天 5 -9184 天

I would however like to get years, but when I do the same code above 
like so:

df_1['Date at Murder'] = (df_1['Date of birth'] - df_1['Date of
Murder revised']) / 365.25

I get this output:
0 -34 days +01:32:38.932238
1 -28 days +18:47:33.388090
2 -21 days +01:15:53.593429
3 NaT
4 -26 days +12:03:26.981519

最佳答案

如果 DOM 和 DOB 是日期时间类型,那么这应该可以完成工作:

df['Age'] = df.DOM - df.DOB

如果数据类型不是datetime,则进行转换

df.DOM = pandas.to_datetime(df.DOM)
df.DOB = pandas.to_datetime(df.DOB)
df['Age'] = (df.DOM - df.DOB).dt.days/365.25

关于python - Pandas 日期时间转换与列之间的数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53265385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com