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?告诉我它是否有效?