У меня есть пустой массив, который я получил от pandas dataframe
data_array = df['column_name'].to_numpy()
Полученный массив имеет объект dtype, как и исходный столбец, и состоит из списков целочисленных значений с shape (2000,).Я хотел бы, чтобы он был типа int32.Однако, когда я пытаюсь использовать
data_array = data_array.astype(np.int32)
, я получаю исключение
setting an array element with a sequence.
Все элементы в массиве - это списки с одинаковым числом целых чисел (сто или около того).
Общий формат:
[[1,0,1,0],[0,0,0,0],[1,0,0,1]]
Есть что-то очевидное, что мне не хватает?Или есть другой, лучший способ, чтобы преобразовать кадры данных pandas в массивные массивы нужного типа?
Поскольку мне кажется, что у меня заканчиваются опции.
EDIT
Я понял это, хотя подход был немного хакерским.
data_array = np.array(df['column_name'].to_list(), np.int32)
Я все еще не уверен, зачем это было нужно.Но, очевидно, можно превратить двумерный список целых чисел в массив numpy с правильным dtype и списком массивов numpy вместо двумерного списка.