То, что вы используете dtype=object
, имеет значение. Маскированный массив не знает, как правильно их обрабатывать, поэтому просто использует стандартные методы numpy.array
. Значение по умолчанию для dtype=object
равно '?'
, поэтому вы получите ошибку.
Вы должны не смешивать типы данных в массиве numpy. Это побеждает все преимущества, которые вы получаете от них. Вместо этого используйте списки (или панды, если имеете дело с разными столбцами разных типов). max
все равно потерпит неудачу в массиве чисел с плавающей запятой и датах.
x = array([datetime.datetime(2018, 8, 28, 8, 52, 2, 107691), 3.14, 2.78],
dtype=object)
x.max()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-152-031604a175b1> in <module>()
----> 1 x.max()
C:\Programs\Anaconda3\lib\site-packages\numpy\core\_methods.py in _amax(a, axis, out, keepdims)
24 # small reductions
25 def _amax(a, axis=None, out=None, keepdims=False):
---> 26 return umr_maximum(a, axis, None, out, keepdims)
27
28 def _amin(a, axis=None, out=None, keepdims=False):
TypeError: '>=' not supported between instances of 'datetime.datetime' and 'float'