pandas.DataFrame.mul 函数是一个非常有用的方法,用于将 DataFrame 的元素与其他元素(另一个 DataFrame、Series 或一个常数)逐元素相乘。这个方法通常用于数据处理和分析中,以执行规模调整、单位转换或其他元素级的计算。本文主要介绍一下Pandas中pandas.DataFrame.mul方法的使用。

DataFrame.mul(self, other, axis='columns', level=None, fill_value=None)  [source]
DataFrame.multiply(self, other, axis='columns', level=None, fill_value=None)  [source]

获取dataframe和其他元素的乘法(二进制操作符mul)。

等价于dataframe * other,但是支持用fill_value替换其中一个输入中丢失的数据。与反向版本,rmul

在灵活的包装器(add, sub, mul, div, mod, pow)算术运算符:+,-,*,/,//,%,**

参数

other : scalar, sequence, Series, 或 DataFrame

何单个或多个元素数据结构,或类似列表的对象。

axis :{0 或 ‘index’, 1 或 ‘columns’}

是按索引(0或' index ')

还是按列(1或' columns ')进行比较。

对于Series输入,轴上匹配Series索引。

level :int label

跨级别广播,匹配传递的多索引级别上的索引值。

fill_value : floatNone, 默认 None

在计算之前,用这个值填充现有的缺失值(NaN)

和成功的DataFrame对齐所需的任何新元素。

如果两个对应的DataFrame位置中的数据都丢失了,

那么结果也将丢失。

返回值

DataFrame

算术运算的结果。

Notes

不匹配的索引将合并在一起。

例子

1)DataFrame 与标量相乘

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2],
    'B': [3, 4]
})

result = df.mul(10)
print(result)

2)两个 DataFrame 相乘

import pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [10, 20], 'B': [30, 40]})

result = df1.mul(df2)
print(result)

3)DataFrame 与 Series 相乘(按列广播)

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
})

s = pd.Series([10, 100], index=['A', 'B'])

result = df.mul(s, axis='columns')
print(result)

4)使用 fill_value 处理缺失值

import pandas as pd
import numpy as np

df1 = pd.DataFrame({'A': [1, np.nan], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [10, 20], 'B': [30, 40]})

result = df1.mul(df2, fill_value=1)
print(result)

推荐文档

相关文档

大家感兴趣的内容

随机列表