sum() 不适用于 Timedelta 对象列表
sum() not working on lists of Timedelta objects
我有一个包含 pandas.Timedelta
个对象的列表
In [31]: r
Out[31]: [Timedelta('0 days 00:00:12'), Timedelta('0 days 00:10:02')]
我可以用加号算起来
In [32]: r[0] + r[1]
Out[32]: Timedelta('0 days 00:10:14')
但没有使用sum()
In [33]: sum(r)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-33-1ab9ba54065b> in <module>
----> 1 sum(r)
TypeError: unsupported operand type(s) for +: 'int' and 'Timedelta'
这是预期的吗?我希望 sum()
在这种情况下工作。
有没有办法在不显式迭代的情况下对列表中的 pandas.Timedelta
个对象求和?
来自 sum
函数的文档
This function is intended specifically for use with numeric values and may
reject non-numeric types.
但是,您可以通过传入 start
值(默认为整数 0)
使其工作
from datetime import timedelta
r = [timedelta(0), timedelta(days=1)]
sum(r, timedelta(0))
使用 pandas 系列更有意义,因为我们已经在使用 pandas Timedelta:
In [3]: s = pd.Series([Timedelta('0 days 00:00:12'), Timedelta('0 days 00:10:02')])
In [4]: s.sum()
Out[4]: Timedelta('0 days 00:10:14')
我有一个包含 pandas.Timedelta
个对象的列表
In [31]: r
Out[31]: [Timedelta('0 days 00:00:12'), Timedelta('0 days 00:10:02')]
我可以用加号算起来
In [32]: r[0] + r[1]
Out[32]: Timedelta('0 days 00:10:14')
但没有使用sum()
In [33]: sum(r)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-33-1ab9ba54065b> in <module>
----> 1 sum(r)
TypeError: unsupported operand type(s) for +: 'int' and 'Timedelta'
这是预期的吗?我希望 sum()
在这种情况下工作。
有没有办法在不显式迭代的情况下对列表中的 pandas.Timedelta
个对象求和?
来自 sum
函数的文档
This function is intended specifically for use with numeric values and may reject non-numeric types.
但是,您可以通过传入 start
值(默认为整数 0)
from datetime import timedelta
r = [timedelta(0), timedelta(days=1)]
sum(r, timedelta(0))
使用 pandas 系列更有意义,因为我们已经在使用 pandas Timedelta:
In [3]: s = pd.Series([Timedelta('0 days 00:00:12'), Timedelta('0 days 00:10:02')])
In [4]: s.sum()
Out[4]: Timedelta('0 days 00:10:14')