Предположим, у меня есть 2d массив.
a = np.array([[0,2,3],[4,2,1]])
Размерность number_of_instances * 3
, где значения в массиве 2d представляют индекс строки в pandas dataframe
.
У меня есть dataframe
:
df = pd.DataFrame(np.array([[10, 10, 10, 10], [11, 11, 11, 11], [12, 12, 12, 12], [13, 13, 13, 13], [14, 14, 14, 14]]), columns = list('ABCD'))
Out[23]:
A B C D
0 10 10 10 10
1 11 11 11 11
2 12 12 12 12
3 13 13 13 13
4 14 14 14 14
Теперь у меня нулевой трехмерный массив, я пытаюсь заполнить трехмерный массив значениями в pandas dataframe
.
b = np.empty(2,3,4)
Размерность number_of_instances * 3 * number_of_features
, где number_of_features
извлекается из pandas dataframe
с помощью соответствующего индекса строки в массиве 2d.
В идеале, я ожидал бы, что b выглядит следующим образом:
Out[24]:
array([[[10, 10, 10, 10],
[12, 12, 12, 12],
[13, 13, 13, 13]],
[[14, 14, 14, 14],
[12, 12, 12, 12],
[11, 11, 11, 11]]])
Каков наиболее эффективный способ заполнения этого трехмерного массива?