Изменение формы массива из 1D в 3D для Keras

Я хочу изменить свои данные так, чтобы они отображали 3 измерения.

Вот код для создания фиктивных данных:

Sample = [{'account': 'Jones LLC', 'Jan': 150, 'Label': 0, 'Mar': [[.332, .326], [.058, .138]]},
 {'account': 'Alpha Co',  'Jan': 200, 'Label': 0, 'Mar': [[.234, .246], [.013, .592]]},
 {'account': 'Blue Inc',  'Jan': 50,  'Label': 1,  'Mar': [[.084, .23], [.745, .923]]}]
df = pd.DataFrame(Sample)

Вот данные визуализируются:

 df:
  account        Jan                    Mar
Jones LLC  |     150   |  [[.332, .326], [.058, .138]]
Alpha Co   |     200   |  [[.234, .246], [.234, .395]] 
Blue Inc   |     50    |  [[.084, .23], [.745, .923]]

Теперь, если я наберу:

df['Mar'].shape

Я получаю (3,)

Как я могу изменить этот столбец, чтобы его форма была (3, 2, 2), чтобы представлять данные в массивах?

Спасибо!!!

1 ответ

Решение

np.asarray(df['Mar'].values.tolist())

Это имеет форму (3, 2, 2),

Проблема в том, что строки df['Mar'] списки и просто с помощью as_matrix() возвращает массив списков. Приведение всех к списку, а затем к массиву получает все np.array,

Другие вопросы по тегам