np 数组转为普通数组_python – 将numpy列表数组转换为numpy数组

我有一些数据存储为dtype = object的numpy数组,我想提取一列列表并将其转换为numpy数组.这似乎是一个简单的问题,但我发现解决它的唯一方法是将整个事物重新编写为列表列表,然后将其重新设置为numpy数组.有更多的

pythonic方法吗?

import numpy as np

arr = np.array([[1, ['a', 'b', 'c']], [2, ['a', 'b', 'c']]], dtype=object)

arr = arr[:, 1]

print(arr)

# [['a', 'b', 'c'] ['a', 'b', 'c']]

type(arr)

# numpy.ndarray

type(arr[0])

# list

arr.shape

# (2,)

将数组重新铸造为dtype = str会引发ValueError,因为它试图将每个列表转换为字符串.

arr.astype(str)

# ValueError: setting an array element with a sequence

可以将整个数组重建为列表列表,然后将其转换为numpy数组,但这似乎是一种迂回的方式.

arr_2 = np.array(list(arr))

type(arr_2)

# numpy.ndarray

type(arr_2[0])

# numpy.ndarray

arr_2.shape

# (2, 3)

你可能感兴趣的:(np,数组转为普通数组)