python - 使用 Python 3 的平均年龄计算器

标签 python python-3.x pandas datetime

我正在尝试使用 Python3 计算平均年龄(年 + 月格式)。我加载了一个 excel 文件并编写了以下代码:

import datetime
from datetime import date, timedelta

import pandas as pd
from pandas import ExcelFile

today = date.today()

agefile = pd.read_excel("test.xlsx", sheet_name = "birthdate")

age = pd.to_datetime(agefile["birthdate"], format = "%d/%m/%Y")

average_age = sum(((today - x) for x in age), timedelta(0)) / len(age)

最后一行没有用。它给了我这样的错误信息:

descriptor '__sub__' requires a 'datetime.datetime' object but received a 'datetime.date'

我花了很多时间弄清楚问题是什么,但到目前为止我还没有找到相关的答案。你能帮我解决这个问题吗?

最佳答案

date.today()是一个date,而age中的x都是日期时间s。将 date.today() 更改为 datetime.today(),错误应该会消失。

关于python - 使用 Python 3 的平均年龄计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52123263/

相关文章:

Python:如何将大文本输出格式化为 'prettier' 和用户定义

python - python如何自然支持大整数并高效?

python - 一次覆盖所有类方法来做同样的事情

python - 根据 Pandas DataFrame 中的其他列值在列之间移动行值

python - 合并 Pandas DataFrame 日期时间列

python - 如何在二维 numpy 数组中查找行?

python - 使用反射从包中加载和实例化模块?

python-3.x - python3.6,async with和await的区别

Python 3 在 pdb "b main"处失败并出现 UnicodeDecodeError?

python - 分配给 pandas DataFrame 的 *new* 子集