我首先创建了一个数组:

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/

10-11 15:22