You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将形状为(20137,1,6912)的Numpy数组转换为DataFrame?

解决方法

报错原因很明确:Pandas DataFrame只接受2维输入,但你的Numpy数组是3维的(形状(20137, 1, 6912)里多了一个长度为1的中间维度),只要把这个多余的维度去掉,转成2维数组就能正常转换了。下面是几种简单的实现方式:

  • 方法1:用numpy的squeeze()方法自动去除长度为1的维度

    import pandas as pd
    import numpy as np
    
    # 假设原数组名为arr
    arr = np.random.rand(20137, 1, 6912)
    # 去除所有长度为1的维度,得到形状(20137, 6912)的2维数组
    arr_2d = arr.squeeze()
    # 转换为DataFrame
    df = pd.DataFrame(arr_2d)
    
  • 方法2:通过索引切片直接剔除多余维度
    这种方式更直观,明确选取中间维度的第0个元素:

    arr_2d = arr[:, 0, :]  # 切片后形状变为(20137, 6912)
    df = pd.DataFrame(arr_2d)
    
  • 方法3:用reshape()手动重塑数组形状
    如果你明确知道目标维度的长度,直接指定即可:

    arr_2d = arr.reshape(20137, 6912)
    df = pd.DataFrame(arr_2d)
    

内容的提问来源于stack exchange,提问作者Anim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 08:45:28