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

如何将dataframe列添加到含虚拟变量的numpy.array用于回归分析?

实现步骤

前置依赖

你需要提前导入numpy和pandas库:

import numpy as np
import pandas as pd

具体操作

假设你现有变量定义如下:

  • 存储虚拟变量的numpy数组:dummy_arr
  • 待提取列的DataFrame:df
  • 待添加的列名:target_col

方法1:使用np.column_stack(无需手动调整维度,更简便)

该方法会自动将一维的Series转为列向量,直接和原有二维数组拼接:

# 直接拼接,新列位于每行的第一个位置,后续为原有4个虚拟变量值
merged_arr = np.column_stack((df['target_col'], dummy_arr))

方法2:使用np.hstack(需手动调整列向量维度)

需要先将DataFrame列转为7行1列的二维数组,再横向拼接:

# 提取列并调整为二维列向量
col = df['target_col'].values.reshape(-1, 1)
# 横向拼接
merged_arr = np.hstack((col, dummy_arr))

效果验证

以你给出的示例数据测试:
原有虚拟变量数组为7行4列,待添加的DataFrame列值为[1,2,3,4,5,6,7],拼接后输出的merged_arr结构为7行5列,示例行如下:

[[1 0 0 0 0]
 [2 0 0 0 0]
 ...
 [6 0 0 0 1]
 [7 0 0 1 0]]

注意事项

  • 需确保DataFrame待添加列的行数和原有numpy数组的行数完全一致,否则会抛出拼接维度错误
  • 如果你需要把待添加列放在虚拟变量之后,调换拼接时两个参数的位置即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:18:03