我对熊猫还比较陌生,但是我很快就坠入爱河了;-)但是现在,我遇到了一个问题,目前我无法自己解决。我必须执行以下任务:给定一个包含两列 Type 和 Duration 的电子表格,计算每种类型的平均持续时间。
数据在一个看起来像这样的excel电子表格中:
Type Duration
A 00:32:48
A 00:28:30
A 00:26:32
B 00:26:21
B 01:02:23
C 00:53:29
C 00:26:45
C 00:46:52
我将其加载到这样的数据帧中:
df = pd.read_excel("file.xlsx", "Sheet1")
然后我尝试使用以下方法计算均值:
for type in types:
mean_duration = df.loc[df["Type"] == type, "Duration"].mean()
print(mean_duration)
不幸的是,由于持续时间列的类型,我得到了一个错误:
Traceback (most recent call last):
File "C:\...\venv\lib\site-packages\pandas\core\nanops.py", line 120, in f
result = alt(values, axis=axis, skipna=skipna, **kwds)
File "C:\...\venv\lib\site-packages\pandas\core\nanops.py", line 551, in nanmean
the_sum = _ensure_numeric(values.sum(axis, dtype=dtype_sum))
File "C:\...\venv\lib\site-packages\numpy\core\_methods.py", line 38, in _sum
return umr_sum(a, axis, dtype, out, keepdims, initial, where)
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
是否可以在不更改Excel电子表格本身的数字格式的情况下使它正常工作?我认为这应该可行,因为在Excel中我可以计算多个持续时间的平均值,但是默认情况下,结果是一个浮点值,需要将其格式化为计算后的持续时间。
非常感谢您的帮助!