基于列将两个pandas DataFrames相乘

时间:2014-02-10 18:26:55

标签: python pandas dataframe

如果我有两个DataFrame,我如何将它们按列相乘以生成带有结果的DataFrame。例如......

 df1 = pd.DataFrame(np.random.randint(10, size=(5, 4)), columns=['A', 'B', 'C', 'D'])

    A  B  C  D
 0  6  9  3  8
 1  1  7  9  9
 2  6  2  0  8
 3  3  6  8  4
 4  6  0  4  8

 df2 = pd.DataFrame(np.random.randint(10, size=(5, 4)), columns=['A', 'B', 'C', 'D'])


    A  B  C  D
 0  9  8  5  3
 1  9  5  6  7
 2  6  9  6  3
 3  7  6  2  5
 4  1  5  2  7

结果就是这个......

    A  B  C  D
 0 54 72 15 24
 1  9 35 54 63

等。

1 个答案:

答案 0 :(得分:1)

[CW;只是为了解决未回答的问题清单..]

我想你想要df1 * df2。例如:

>>> df1 = pd.DataFrame(np.random.randint(10, size=(5, 4)), columns=['A', 'B', 'C', 'D'])
>>> df2 = pd.DataFrame(np.random.randint(10, size=(5, 4)), columns=['A', 'B', 'C', 'D'])
>>> df1
   A  B  C  D
0  0  6  5  7
1  8  6  4  0
2  6  2  4  3
3  8  8  7  6
4  8  7  9  0

[5 rows x 4 columns]
>>> df2
   A  B  C  D
0  0  0  3  0
1  8  5  6  5
2  7  4  9  7
3  8  4  4  1
4  2  5  6  4

[5 rows x 4 columns]
>>> df1 * df2
    A   B   C   D
0   0   0  15   0
1  64  30  24   0
2  42   8  36  21
3  64  32  28   6
4  16  35  54   0

[5 rows x 4 columns]