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

如何将Pandas DataFrame的label列转为数组并转置为垂直形式?

解决Pandas DataFrame标签列转垂直数组的问题

嘿,我懂你的需求啦——你想要把training_set里的label列转成每行一个值的垂直数组(列向量),而不是默认的一维水平数组对吧?这其实是Numpy数组维度调整的常见需求,给你几个简单好用的方法:

  • 方法1:用reshape(-1, 1)调整维度
    你之前用np.asarray(training_set['label'])得到的是形状为(n,)的一维数组,只需要给它加个reshape就能转成(n,1)的二维列向量:

    import numpy as np
    Y_train = np.asarray(training_set['label']).reshape(-1, 1)
    

    这里的-1表示让Numpy自动计算这个维度的长度,不用你手动数样本数量,特别省心。

  • 方法2:直接从Pandas Series转成列向量
    你也可以跳过np.asarray,直接用Pandas自带的to_numpy()方法,再配合reshape一步到位:

    Y_train = training_set['label'].to_numpy().reshape(-1, 1)
    
  • 方法3:用np.newaxis增加维度
    另一种常用的方式是利用np.newaxis插入一个新轴,把一维数组直接转成二维列向量:

    Y_train = np.asarray(training_set['label'])[:, np.newaxis]
    

    这里的[:, np.newaxis]相当于给数组在列的方向上新增了一个维度,完美符合你要的垂直格式。

这三种方法都能达到你的要求,选哪个全看你个人习惯哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:40:42