Изменение формы массива из 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
,