如何解决numpy数据类型更改问题?

时间:2018-10-08 02:24:42

标签: python numpy

当我想更改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可以成功更改数据类型,而a [0]则不能成功。

谢谢

0 个答案:

没有答案