pandas dataframe选取某行或列做元素相乘

    科技2025-08-23  4

    点赞发Nature 关注中Science

    dataframe整体做乘法时,不需要借助其他方法,直接a*b即可

    >>> import pandas as pd >>> import numpy as np >>> a = pd.DataFrame([1,2,3]) >>> b = pd.DataFrame([2,5,3]) >>> a*b 0 0 2 1 10 2 9

    但是,如果想要选取某行或某列做乘法,要使用loc方法,此时则会变成矩阵乘法

    >>> a = pd.DataFrame([[1,2,3],[2,3,4]]) >>> a*b 0 1 2 0 2.0 NaN NaN 1 10.0 NaN NaN 2 NaN NaN NaN >>> b = pd.DataFrame([[2,5,3],[2,3,4]]) >>> a*b 0 1 2 0 2 10 9 1 4 9 16 >>> a.loc[:,0]*b.loc[:,0] 0 2 1 4

    如果要使用loc方法,选取dataframe总的某行或某列来做元素乘法,则需要借助numpy.array

    np.array(a.loc[:,0])*np.array(b.loc[:,0])
    Processed: 0.017, SQL: 8