Я сталкиваюсь со странной проблемой, когда хочу изменить тип данных в numpy, для 1D можно изменить, а для 2D нельзя.Не могли бы вы дать мне представление о том, почему такая ситуация случается?Пример:
a = np.array([['20101003', '', '20101003'], ['1.2', '', '2.3']])
b = np.array(['20101003', '', '20101003'])
def to_date(x):
if x:
return datetime.strptime(x, '%Y%m%d').date()
else:
return None
a[0] = np.array(list(map(to_date, a[0])))
b = np.array(list(map(to_date, b)))
print(a[0], type(a[0]))
>>>['2010-10-' 'None' '2010-10-'] <class 'numpy.ndarray'>
print(b, type(b))
>>>[datetime.date(2010, 10, 3) None datetime.date(2010, 10, 3)] <class 'numpy.ndarray'>
Почему для b можно успешно изменить тип данных, а для [0] нельзя.
Спасибо