使用PYTHON将三维数据帧转换为三维数组的问题

使用PYTHON将三维数据帧转换为三维数组的问题,python,pandas,numpy,Python,Pandas,Numpy,我首先创建了一个数组: nlist= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]] import numpy as np narray = np.array(nlist) import pandas as pd df = pd.DataFrame.from_records(narray) new_array = np.array(df)

我首先创建了一个数组:

nlist= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]]
import numpy as np
narray = np.array(nlist)
import pandas as pd
df = pd.DataFrame.from_records(narray)
new_array = np.array(df)
然后我使用:

nlist= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]]
import numpy as np
narray = np.array(nlist)
import pandas as pd
df = pd.DataFrame.from_records(narray)
new_array = np.array(df)
所以我基本上把一个三维数组转换成了一个三维数据帧。 现在,当我尝试使用:

nlist= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]]
import numpy as np
narray = np.array(nlist)
import pandas as pd
df = pd.DataFrame.from_records(narray)
new_array = np.array(df)
现在返回一个二维数组(使用new_array.shape检查维度)。但是我想要原始的三维数组。我该怎么办?

试试这个

new_array = np.array(df.values.tolist())



print(narray)
print(type(narray))
df = pd.DataFrame.from_records(narray)
print(df)
**new_array = np.array(df.values.tolist())**
print((new_array))
print(type(new_array))
O/p:

[[1 2 3]
[ 4  5  6]
[ 7  8  9]]
[[10 11 12]
[13 14 15]
[16 17 18]]
[[19 20 21]
[22 23 24]
[25 26 27]]]
0             1             2
0     [1, 2, 3]     [4, 5, 6]     [7, 8, 9]
1  [10, 11, 12]  [13, 14, 15]  [16, 17, 18]
2  [19, 20, 21]  [22, 23, 24]  [25, 26, 27]
[[[ 1  2  3]
[ 4  5  6]
[ 7  8  9]]
[[10 11 12]
[13 14 15]
[16 17 18]]
[[19 20 21]
[22 23 24]
[25 26 27]]]
显示数据帧(至少几行)和新的\u数组。使用数据类型。所以我们都明白发生了什么。正常的数据帧是二维的。