【问题标题】:How to convert dataframe containing lists to 3D array如何将包含列表的数据框转换为 3D 数组
【发布时间】:2021-11-26 12:32:26
【问题描述】:

我想将以下数据帧转换为形状为 (4,200,3) 的 3-D 数组?

    df:
          0                     1                  2
    0  [1,2,3.......200]     [4,5,6....200]        [7,8,9....200]
    1  [11,12,13....200]     [14,15,16....200]     [17,18,19....200]
    2  [21,22,23....200]     [24,25,26....200]     [27,28,29....200]
    3  [31,32,33....200]     [24,25,26....200]     [27,28,29....200]

我使用 np.array(df) 转换“df”。 它给出了一个大小为 (4,3) 的二维数组。

如何转换成大小为 (4,200,3) 的 3-D 数组? 提前致谢。

【问题讨论】:

    标签: python arrays pandas dataframe numpy


    【解决方案1】:

    你能给我展示一下结果,你想要数据的形状,还有你的代码吗?

    它给你一个size(4,3)的假设可能是因为你有一个panda file with 4 rows and 3 columns,当你将数据转换为NumPy时,示例中的数据df[0,0] -> list([1,2,3,...,200])

    如果您的实际数据是(4,3),那么这意味着将具有4x3=12 indices(4,3) 更改为具有200x3x4=2400 indices(4,200,3) 是“不可能的”。

    【讨论】:

    • 您好,感谢您的回复。问题解决了。我将整个数据框转换为列表,再次使用 numpy 将该列表转换为 3D 数组。 df_list = df.values.tolist(), df_array = np.array(df_list).
    猜你喜欢
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 2016-02-14
    • 2021-12-07
    相关资源
    最近更新 更多