我首先创建了一个数组:
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)
因此,我基本上将3维数组转换为3维数据框。
现在,当我尝试使用以下命令将其作为数组返回时:
new_array = np.array(df)
现在,这将返回一个二维数组(用于检查尺寸的new_array.shape)。但是我想要原始的3维数组。我该怎么办?
最佳答案
尝试这个,
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]]]
<class 'numpy.ndarray'>
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]]]
<class 'numpy.ndarray'>
关于python - 使用PYTHON将3维DataFrame转换为3维数组的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59874534/