我正在try 使用sm.OLS和迭代工具.组合来运行最佳子集多元回归.我已经添加了常量,但是因为迭代器.组合循环遍历所有列组合,所以有时它会排除常量项.

为了绕过这个问题,我try 使用迭代式工具.组合始终在每个组合中包含该常量列.

结果只包括一些组合,包括常量.我怎么才能让每个组合都有恒定的列呢?

我正在寻找的示例:

[(‘const’,‘B’,‘C’),(‘const’,‘B’,‘D’),(‘const’,‘B’,‘E’),(‘const’,‘B’,‘F’),(‘const’,‘A’,‘B’),

这是我目前拥有的一个例子(图片和结果一起发布):

cols = ['A', 'B', 'C', 'D', 'E', 'F']
const = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]


ran = np.random.rand(12, 6)
df = pd.DataFrame(data = ran, columns=cols)
df['const'] = const
results=[]
print(df)
for combo in itertools.combinations(df.columns, 3):
    results.append(combo)

print(results)

enter image description here

推荐答案

IIUC,您可以:

for combo in itertools.combinations(df.columns[:-1], 2): # -1 because we want "const" column exclude
    results.append(["const", *combo])

print(results)

打印:

[
    ["const", "A", "B"],
    ["const", "A", "C"],
    ["const", "A", "D"],
    ["const", "A", "E"],
    ["const", "A", "F"],
    ["const", "B", "C"],
    ["const", "B", "D"],
    ["const", "B", "E"],
    ["const", "B", "F"],
    ["const", "C", "D"],
    ["const", "C", "E"],
    ["const", "C", "F"],
    ["const", "D", "E"],
    ["const", "D", "F"],
    ["const", "E", "F"],
]

Python相关问答推荐

如何防止Plotly在输出到PDF时减少行中的点数?

通过仅导入pandas来在for循环中进行多情节

GL pygame无法让缓冲区与vertextPointer和colorPointer一起可靠地工作

如何使用pandasDataFrames和scipy高度优化相关性计算

用Python解密Java加密文件

无法定位元素错误404

当独立的网络调用不应该互相阻塞时,'

梯度下降:简化要素集的运行时间比原始要素集长

从spaCy的句子中提取日期

NumPy中条件嵌套for循环的向量化

移动条情节旁边的半小提琴情节在海运

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

如何合并两个列表,并获得每个索引值最高的列表名称?

* 动态地 * 修饰Python中的递归函数

如何杀死一个进程,我的Python可执行文件以sudo启动?

在matplotlib中使用不同大小的标记顶部添加批注

如何使用正则表达式修改toml文件中指定字段中的参数值

如何在Python Pandas中填充外部连接后的列中填充DDL值

如何在Python 3.9.6和MacOS Sonoma 14.3.1下安装Pyregion

用0填充没有覆盖范围的垃圾箱