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

如何将多列DataFrame转换为一维数组?当前输出为多维数组

将DataFrame多列转换为一维数组的解决方法

你当前选取DataFrame多列后直接调用to_numpy(),得到的是对应列数×行数的二维数组,要转成一维数组可以用以下几种方法:

  • 使用numpy的flatten()方法:直接将二维数组展平为一维,返回数组的副本:

    t_e = df[['heat 7', 'heat 1', 'heat 2']].to_numpy().flatten()
    t_c = df[['heat 4','heat 5','heat 3','heat 6']].to_numpy().flatten()
    
  • 使用numpy的ravel()方法:展平数组,优先返回原数组的视图(节省内存),修改视图可能会影响原数组:

    t_e = df[['heat 7', 'heat 1', 'heat 2']].to_numpy().ravel()
    t_c = df[['heat 4','heat 5','heat 3','heat 6']].to_numpy().ravel()
    
  • 使用pandas的stack()方法:先将多列堆叠为一维Series,再转换为numpy数组:

    t_e = df[['heat 7', 'heat 1', 'heat 2']].stack().to_numpy()
    t_c = df[['heat 4','heat 5','heat 3','heat 6']].stack().to_numpy()
    
  • 使用reshape(-1):让numpy自动计算一维数组的长度,完成维度转换:

    t_e = df[['heat 7', 'heat 1', 'heat 2']].to_numpy().reshape(-1)
    t_c = df[['heat 4','heat 5','heat 3','heat 6']].to_numpy().reshape(-1)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 14:42:43