【问题标题】:Multiply two pandas DataFrames based on column根据列将两个熊猫数据帧相乘
【发布时间】:2014-02-11 02:37:29
【问题描述】:

如果我有两个 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

等等。

【问题讨论】:

  • df1 * df2 没有给你你想要的吗?
  • 天哪,确实如此。多么浪费。哇,谢谢!

标签: python pandas dataframe


【解决方案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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-06
    • 2018-01-24
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    相关资源
    最近更新 更多