Search code examples
pandasmultiplication

Pandas multiply 2 series of different dimensions to give dataframe


I have a series;

Red    33
Blue   44
Green  22

And also this series;

0   100
1   100
2   100
3   200
4   200
5   200

I want to multiply these in a way to give the following dataframe

   Red   Blue   Green
0  330   440   220
1  330   440   220
2  330   440   220
3  660   880   440
4  660   880   440
5  660   880   440

Can anyone see a simply / tidy way this could be done?


Solution

  • IIUC assuming s is the name of the first series and s1 is the name of the second series, try:

    m=s.to_frame().T
    pd.DataFrame(m.values*s1.values[:,None],columns=m.columns)
    

        Red  Blue  Green
    0  3300  4400   2200
    1  3300  4400   2200
    2  3300  4400   2200
    3  6600  8800   4400
    4  6600  8800   4400
    5  6600  8800   4400