使用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数组。使用数据类型。所以我们都明白发生了什么。正常的数据帧是二维的。