【发布时间】:2021-10-03 21:41:30
【问题描述】:
我在数据框中有一个 timedelta64[ns] 列 (final_df['Age']),它是通过从 datetime64[ns] 变量 (today_date) 中减去 <class 'pandas._libs.tslibs.timestamps.Timestamp'> 列 (final_df["Contact Birth Date"]) 创建的。但是,当我打印数据框时,它会以天数显示时间增量,如下所示:
5511 天
我希望它只打印年数。我没有任何运气将其转换为 int 或 datetime 对象。有没有办法将“5511 天”转换为“15 年”或只是“15”?如果有帮助,我正在使用 google colab。
这是我的 today_date 和 final_df['Age'] 代码。我将日期时间导入为 dt。
today_date = pd.to_datetime(dt.date.today())
final_df['Age'] = today_date - final_df["Contact Birth Date"]
【问题讨论】:
-
为什么不除以一年的平均天数;
5511 // 365.2425?或在您的代码示例中使用(today_date - final_df["Contact Birth Date"]).dt.days // 365.2425。 -
好的,第二个成功了,非常感谢!我应该考虑将整个表达式用括号括起来。
标签: python dataframe datetime google-colaboratory timedelta