gpt4 book ai didi

python - 矩阵相乘得到 einsum 的数据类型无效

转载 作者:行者123 更新时间:2023-11-30 22:03:08 25 4
gpt4 key购买 nike

我正在从 CSV 导入数据并尝试对其进行分析,但我需要将矩阵与其转置相乘。

def C_matrices(F11_list, F12_list, F21_list, F22_list):
C11_list = []
C12_list = []
C21_list = []
C22_list = []
for F11 in F11_list:
pos = F11_list.index(F11)
F = np.array([[float(F11), F12_list[pos]], [F21_list[pos], F22_list[pos]]])
print F
Ft = F.transpose()
print Ft
C = np.matmul(F, Ft)
C11_list.append(C[:1, :1])
C12_list.append(C[1:, 2:])
print C[:1, :1]
print C[1:, 2:]
break

我得到:

[['1.0' '0']
Traceback (most recent call last):
['0' '1']]
File "C:/Users/lukec/Desktop/School/3rd Year/1st Quarter/BENG 110/Project/read_F.py", line 48, in <module>
[['1.0' '0']
control()
['0' '1']]
File "C:/Users/lukec/Desktop/School/3rd Year/1st Quarter/BENG 110/Project/read_F.py", line 45, in control
C_matrices(F11_list, F12_list, F21_list, F22_list)
File "C:/Users/lukec/Desktop/School/3rd Year/1st Quarter/BENG 110/Project/read_F.py", line 34, in C_matrices
C = np.matmul(F, Ft)
TypeError: invalid data type for einsum

我不确定为什么 einsum 失败,我得到一个 2x2 矩阵乘以 2x2 矩阵。任何帮助将不胜感激!

最佳答案

从输出中可以看到数组的元素不是数字,而是字符串

[['1.0' '0']

在操作之前确保将组件转换为数字float(foo)

关于python - 矩阵相乘得到 einsum 的数据类型无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53623773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com