我是NumPy
的新用户,我试图计算一些简单的统计信息,例如median
或stddev
。
其中一个"列"我想探索的是时差(其类型为timedelta64
NumPy
类型),但我无法直接应用这些统计ufuncs
:
----> 1 age_request.std()
TypeError: ufunc 'divide' not supported for the input types, and the inputs could not be
safely coerced to any supported types according to the casting rule 'safe'
为什么会这样?
我知道我应该调查Pandas
,但首先我要熟悉NumPy
。
答案 0 :(得分:2)
看看documentation for datetime。它列出了您可以在timedelta
对象上执行的操作。分工是这样完成的:
t1 = t2 // i
请注意,这会计算出任何余额。
据我所知,您只能在timedelta
对象上执行这些操作。虽然也许我错了,你可以使用numpy
操作。
我建议将timedelta
对象转换为微秒,然后进行除法,标准差,中位数等:
tdMicrosecs = td.microseconds + 1000.0 * td.seconds + 86400000000.0 * td.days
tdQuotient = tdMicrosecs / i
(但我应该补充一点,我不完全确定python可以存储的最大整数值是什么,如果tdMicrosecs
可能超过它。)