У меня есть numpy массив из pandas Dataframes, который мне нужно преобразовать в 3D numpy массив формы (образцы, строки, столбцы), чтобы подать в модель Keras для обучения. У меня 46 образцов в моем наборе данных, и каждый образец составляет 1101 строку на 64 столбца.
Вот код для моего 1D numpy массива Dataframes:
static_dfs = []
#read in static csvs as pandas df
#static files is my np array of csv files
for x in range(0, static_files.size):
df = pd.read_csv(static_files[x], sep='\t', skiprows=skip_rows, header=(0))
#append df to list
static_dfs.append(df)
#convert list to np array
static_dfs = np.asarray(static_dfs)
Действительно, форма массив равен (46,) [количество выборок]. Если я посмотрю на один из Dataframes в массиве (например, static_dfs [0]), его форма будет (1101, 64).
Затем я попытаюсь преобразовать его в 3D numpy array:
static_nps = []
for x in range(0, static_dfs.size):
static_nps.append(static_dfs[x].to_numpy())
#convert to numpy array
static_nps = np.asarray(static_nps)
Однако это дает мне эту ошибку:
could not broadcast input array from shape (1101,64) into shape (1101)
для строки кода:
#convert to numpy array
static_nps = np.asarray(static_nps)
Хуже всего то, что у меня это работало раньше, но соавтор я просмотрел мой код и отредактировал его после того, как мы обнаружили ошибку в одном из наших файлов данных. Теперь я не могу заставить его снова работать, как раньше, и застрял: (
Желаемая форма моего 3D-массива будет выглядеть как (46, 1101, 64). Если бы кто-нибудь мог решить эту проблему, вы бы будет огромным подспорьем! Спасибо