首页 > 解决方案 > 将 numpy 2D 与 1D 数组相乘

问题描述

我是 Python 新手

我有:(可以在此处访问哪些文件)

64 x 47 阵列toeplitz = pd.read_excel ('BT4864.xlsx')

1 x 47 阵列compressed = pd.read_excel ('compressed1.xls')

我想先转置toeplitz变量(数据类型=浮点数),然后将它与压缩变量(数据类型=复杂)相乘,我得到了一个错误

TypeError:不能将序列乘以“float”类型的非整数

这是我的代码:

import numpy as np
import scipy
import pandas as pd

compressed = pd.read_excel ('compressed1.xls')
comp_array = np.array(compressed)
np.shape(compressed)

toeplitz = pd.read_excel ('BT4864.xlsx')
toep_array = np.array(toeplitz)

A = toep_array
y = comp_array
r = y
data = 64

transpose = np.transpose(A)
c = np.dot(transpose, r)
absValues = np.abs (c)
l2_r = np.sum(np.power(absValues,2))
sd = l2_r / sqrt (data)

有什么我错过的吗?

标签: pythonarraysnumpy

解决方案


无论您的代码如何(不可重现),这都是您可能想要的

comp_array = np.zeros((64, 47),dtype=np.complex)

toep_array = np.zeros((1, 47),dtype=np.complex)


A = toep_array
y = comp_array

c = np.matmul(A, y.T)

推荐阅读