将 numpy 字符串数组连接到 numpy 数字数组
Posted
技术标签:
【中文标题】将 numpy 字符串数组连接到 numpy 数字数组【英文标题】:Concatenate a numpy array of strings to numpy array of numbers 【发布时间】:2022-01-22 02:09:07 【问题描述】:我正在学习 Python 中的多元线性回归,对于一个特定的实例,我有以下等式:y=b+m1x1+m2x2+...+m5x5
。我想在我的终端上以相同的格式打印出相同的等式,并为m
和b
插入值
到目前为止,我已经实现了以下代码:
insert numpy as np
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
...
print("b= ",regressor.intercept_) # b= 42467.529248548686
m= np.array(regressor.coef_)
print(m) # [8.66e+01 -8.73e+02 7.86e+02 7.73e-01 3.29e-02 3.66e-02]
x_var= ['x'+ str(i) for i in range(1,6)]
print(x_var) # it gives ['x1', 'x2', 'x3', 'x4', 'x5']
我知道我的问题可能是超级基本的,但是我应该如何将 numpy 整数数组 m 与字符串数组 x_var 连接起来?
提前致谢。
【问题讨论】:
numpy
数组主要是数字,就像你的 m
。虽然您可以创建字符串数组,但混合字符串和数字并不适合numpy
。所以请随意使用列表方法,例如zip
和字符串格式化。这不是一个数组连接任务。
【参考方案1】:
你可以使用zip功能:
equation = []
for coef, var in zip(m, [''] + x_var):
equation.append(str(coef) + var)
print(" + ".join(equation))
或
equation = [str(m[0])]
for coef, var in zip(m[1:], x_var):
equation.append(str(coef) + var)
print(" + ".join(equation))
【讨论】:
以上是关于将 numpy 字符串数组连接到 numpy 数字数组的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以将 numpy 数组连接到内存之外(在磁盘上)?
Python入门第四十八天Python丨NumPy 数组连接
如何通过索引将 scipy.sparse 矩阵分配给 NumPy 数组?