Python pandas.DataFrame.divide函数方法的使用

pandas.DataFrame.divide() 函数是用于对 DataFrame 进行元素级除法操作的函数。可以将 DataFrame 的每个元素除以一个常数,或者除以另一个 DataFrame(或 Series)对应位置的元素。它是 DataFrame.div() 的别名。常用于对数据进行逐元素的运算。本文主要介绍一下Pandas中pandas.DataFrame.divide方法的使用。

DataFrame.divide(self, other, axis='columns', level=None, fill_value=None)

获取数据帧和其他元素的浮动除法(二元运算符truediv)。相当于,但支持将fill_value替换为其中一个输入中的缺失数据。使用反向版本,rtruedivdataframe/other在灵活的包装器(add,sub,mul,div,mod,pow)中算术运算符:+,-,*,/,//,%,**

参数:

other : 标量 (scalar),序列(sequence),SeriesDataFrame

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

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

是否通过索引 (0 或 ‘index’) 或列(1 或 ‘columns’)进行比较。

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

level : intlabel

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

fill_value : floatNone,默认为None

在计算之前使用此值填充现有缺失(NaN

值以及成功DataFrame对齐所需的任何新元素。

如果缺少相应DataFrame位置中的数据,则结果将丢失。

返回

DataFrame

算术运算的结果。

Note

不匹配的指数将合并在一起。

例子

1)DataFrame 与常数相除

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({
    'A': [10, 20, 30],
    'B': [100, 200, 300]
})

# 除以 10
result = df.divide(10)
print(result)

2)DataFrame 与另一 DataFrame 相除

import pandas as pd

# 创建两个 DataFrame
df1 = pd.DataFrame({
    'A': [10, 20, 30],
    'B': [100, 200, 300]
})

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

# 逐元素相除
result = df1.divide(df2)
print(result)

3)DataFrame 和 Series 相除

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({
    'A': [10, 20, 30],
    'B': [100, 200, 300]
})

# 创建一个 Series
s = pd.Series([2, 10], index=['A', 'B'])

# 逐列相除
result = df.divide(s, axis=1)
print(result)

4)处理缺失值

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({
    'A': [10, 20, 30],
    'B': [100, 200, 300]
})

# 带有 NaN 的 DataFrame
df3 = pd.DataFrame({
    'A': [10, None, 30],
    'B': [100, 200, None]
})

# 使用 fill_value 处理 NaN
result = df.divide(df3, fill_value=1)
print(result)

推荐阅读
cjavapy编程之路首页