Python - 矩阵单位乘法
Python - Matrix Identity multiplication
我有一个数据框 a 是
a = [[3],
[12],
[15]]
我想把它变成
b = [[3, 0, 0],
[0, 12,0],
[0, 0, 15]]
高中毕业有一段时间了,我的矩阵乘法有点不对劲。任何帮助都会很棒。
您可以使用 numpy 函数
>>> import numpy as np
>>> import pandas as pd
>>> b = np.zeros((3,3), dtype=int)
>>> np.fill_diagonal(b, [3, 12, 15])
>>> b
array([[ 3, 0, 0],
[ 0, 12, 0],
[ 0, 0, 15]])
如果你需要一个DataFrame
>>> pd.DataFrame(b)
0 1 2
0 3 0 0
1 0 12 0
2 0 0 15
你有一些清单。如果你可以使用 numpy,
b = np.diag(a)
如果你想使用矩阵乘法,你可以这样做
np.dot(a, np.ones((1, 3)))
A (3, 1)
矩阵乘以 (1, 3)
得到 (3, 3)
.
我有一个数据框 a 是
a = [[3],
[12],
[15]]
我想把它变成
b = [[3, 0, 0],
[0, 12,0],
[0, 0, 15]]
高中毕业有一段时间了,我的矩阵乘法有点不对劲。任何帮助都会很棒。
您可以使用 numpy 函数
>>> import numpy as np
>>> import pandas as pd
>>> b = np.zeros((3,3), dtype=int)
>>> np.fill_diagonal(b, [3, 12, 15])
>>> b
array([[ 3, 0, 0],
[ 0, 12, 0],
[ 0, 0, 15]])
如果你需要一个DataFrame
>>> pd.DataFrame(b)
0 1 2
0 3 0 0
1 0 12 0
2 0 0 15
你有一些清单。如果你可以使用 numpy,
b = np.diag(a)
如果你想使用矩阵乘法,你可以这样做
np.dot(a, np.ones((1, 3)))
A (3, 1)
矩阵乘以 (1, 3)
得到 (3, 3)
.