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

如何将pandas存列表的列与另一列值拼接生成二维numpy数组

问题根源

df['a']是元素为列表的object类型Series,直接传入np.c_/np.hstack等numpy拼接函数时,不会自动将内部列表展开为二维结构,只会将每个列表视为单个object元素处理,因此得到的是object类型的数组,不符合预期。

推荐解法(性能最优,适合大数据量)

  • 先将a列的列表转换为正规二维numpy数组:arr_a = np.array(df['a'].tolist())
  • 把b列转为列向量格式:arr_b = df['b'].to_numpy().reshape(-1, 1)
  • 横向拼接两个数组得到最终结果:res = np.hstack((arr_a, arr_b))

可选简洁写法(适合小数据量)

逐行拼接列表后直接转为numpy数组:

res = np.array(df.apply(lambda row: row['a'] + [row['b']], axis=1).to_list())

两种方法输出的结果均为shape=(2,4)的float类型二维数组,和你给出的预期输出完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:27:02