Umwandle ein numpy-Array von Listen in ein numpy-Array

Ich habe einige Daten, die als Numpy-Array mit @ gespeichert sidtype=object, und ich möchte eine Spalte mit Listen extrahieren und in ein Numpy-Array konvertieren. Es scheint ein einfaches Problem zu sein, aber der einzige Weg, den ich gefunden habe, um es zu lösen, besteht darin, das Ganze in eine Liste von Listen und dann in ein numpy-Array umzugliedern. Ist das ein eher pythonischer Ansatz?

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

Wiedergabe des Arrays alsdtype=str wirft einValueError, da versucht wird, jede Liste in eine Zeichenfolge zu konvertieren.

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

Es ist möglich, das gesamte Array als Liste von Listen neu zu erstellen und es dann als Numpy-Array umzuwandeln, aber dies scheint ein Umweg zu sein.

arr_2 = np.array(list(arr))

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

arr_2.shape
# (2, 3)

Gibt es einen besseren Weg, dies zu tun?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage