Convierta una matriz numpy de listas en una matriz numpy

Tengo algunos datos que se almacenan como una matriz numpy condtype=object, y me gustaría extraer una columna de listas y convertirla en una matriz numpy. Parece un problema simple, pero la única forma en que he encontrado para resolverlo es rehacer todo como una lista de listas y luego volver a fundirlo como una matriz numpy. ¿Es el, re un enfoque más pitónico?

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

Redefiniendo la matriz comodtype=str plantea unValueError ya que está tratando de convertir cada lista en una cadena.

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

Es posible reconstruir toda la matriz como una lista de listas y luego convertirla como una matriz numpy, pero esto parece una forma indirecta.

arr_2 = np.array(list(arr))

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

arr_2.shape
# (2, 3)

¿Hay una mejor manera de hacer esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta