将 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。我想在我的终端上以相同的格式打印出相同的等式,并为mb 插入值

到目前为止,我已经实现了以下代码:

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 数组连接到内存之外(在磁盘上)?

将字符串转换为numpy数组

Python入门第四十八天Python丨NumPy 数组连接

如何通过索引将 scipy.sparse 矩阵分配给 NumPy 数组?

将 CSV 文件读取到 numpy 数组,第一行为字符串,其余为浮点数

numpy中关于数组的合并,拆分,及降维