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

如何将DataFrame中的一列转换为N×1数组?

解决DataFrame列转N×1 numpy数组的问题

这里给你几个实用的方法,帮你把DataFrame的一列转成形状为(N,1)的二维数组:

  • 方法一:用reshape调整维度
    不管你是从Series(单括号取列df['NameOfColumn'])还是已有的一维数组,都可以用reshape(-1,1)自动调整成N行1列的结构:

    import numpy as np
    X = df['NameOfColumn'].to_numpy().reshape(-1, 1)
    

    这里-1会让numpy自动计算对应的行数,不用手动写N的值。

  • 方法二:确保用双括号取列(返回DataFrame)
    你原本写的df[['NameOfColumn']]返回的是一个只有一列的DataFrame,转成numpy数组后应该天然是(N,1)的形状。如果之前得到的是(N,),大概率是你不小心用了单括号df['NameOfColumn'](返回Series,转numpy是一维数组)。再试一次双括号的写法:

    X = df[['NameOfColumn']].to_numpy()
    
  • 方法三:用np.newaxis或expand_dims增加维度
    这两种方式都是给一维数组手动添加一个维度:

    # 用np.newaxis
    X = df['NameOfColumn'].to_numpy()[:, np.newaxis]
    # 用np.expand_dims
    X = np.expand_dims(df['NameOfColumn'].to_numpy(), axis=1)
    

内容的提问来源于stack exchange,提问作者F.G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:15:35