如何将 3 维列表转换为 Dataframe?

How to convert a 3 dimensional list into a Dataframe?

我需要将以下数组转换为数据帧。

 import numpy as np
 import pandas as pd
 
 arr = [[0, [0.13, 0.24, 0.19]],
        [1, [0.10, 0.21, 0.06]],
        [2, [0.40, 0.29, 0.25]]]

 arr = np.array(arr, dtype=object)
 arr = pd.DataFrame(arr)
 print(arr)

以上代码给出了以下输出:

0                   1
0  0  [0.13, 0.24, 0.19]
1  1   [0.1, 0.21, 0.06]
2  2   [0.4, 0.29, 0.25]

但我想从数组创建以下数据框:

   id  c_0  c_1  c_2
0  0  0.13 0.24 0.19
1  1   0.1 0.21 0.06
2  2   0.4 0.29 0.25

如果有人帮我解决这个问题,不胜感激。

您可以更改转换为 DataFrame 的数组。这使得创建像您的输出一样的 DataFrame 成为可能。

唯一剩下的就是更改列名。

import numpy as np
import pandas as pd

arr = [[0, [0.13, 0.24, 0.19]],
       [1, [0.10, 0.21, 0.06]],
       [2, [0.40, 0.29, 0.25]]]

arr = [[ele[0], *ele[1]] for ele in arr]

# No need to use numpy
# arr = np.array(arr, dtype=object)

arr = pd.DataFrame(arr)
columns = ['id', 'c_0', 'c_1', 'c_2']
arr.columns = columns 
print(arr)

   id   c_0   c_1   c_2
0   0  0.13  0.24  0.19
1   1  0.10  0.21  0.06
2   2  0.40  0.29  0.25