Python 从列和行创建矩阵
将列和行相乘形成矩阵的最优雅方法是什么 我想取两个系列,用它们制作一个数据帧,长度为一个系列,宽度为另一个系列。 在这种情况下,我想将两者相乘Python 从列和行创建矩阵,python,pandas,Python,Pandas,将列和行相乘形成矩阵的最优雅方法是什么 我想取两个系列,用它们制作一个数据帧,长度为一个系列,宽度为另一个系列。 在这种情况下,我想将两者相乘 sr1 = 0 2 1 3 2 4 sr2 = 0 0 1 10 2 100 3 50 期望结果:sr1=y轴,sr2=x轴的数据帧 0 20 200 100 0 30 300 150 0 40 400 200 pan
sr1 =
0 2
1 3
2 4
sr2 =
0 0
1 10
2 100
3 50
期望结果:sr1=y轴,sr2=x轴的数据帧
0 20 200 100
0 30 300 150
0 40 400 200
pandas或类似软件中是否有一个简单的函数,可以在df中不首先将序列作为列重复,然后进行乘法?检查
numpy.multiply.outer
import numpy as np
df=pd.DataFrame(np.multiply.outer(sr1.values,sr2.values))
Out[11]:
0 1 2 3
0 0 20 200 100
1 0 30 300 150
2 0 40 400 200
使用广播
pd.DataFrame(s2.values * s1.values[:,None])
Out[585]:
0 1 2 3
0 0 20 200 100
1 0 30 300 150
2 0 40 400 200
你能试试df=sr1*sr2.to_frame().T?告诉我它是否有效?