Converter uma matriz numpy de listas em uma matriz numpy

Eu tenho alguns dados que são armazenados como uma matriz numpy comdtype=object, e gostaria de extrair uma coluna de listas e convertê-la em uma matriz numpy. Parece um problema simples, mas a única maneira que encontrei para resolvê-lo é reformular a coisa toda como uma lista de listas e, em seguida, reformulá-la como uma matriz numpy. A abordagem re é mais pitônica?

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,)

Reformulando a matriz comodtype=str levanta umValueError pois está tentando converter cada lista em uma string.

arr.astype(str)
# ValueError: setting an array element with a sequence

É possível reconstruir toda a matriz como uma lista de listas e depois convertê-la em uma matriz numpy, mas isso parece uma maneira indireta.

arr_2 = np.array(list(arr))

type(arr_2)
# numpy.ndarray
type(arr_2[0])
# numpy.ndarray

arr_2.shape
# (2, 3)

Existe uma maneira melhor de fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion