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

pandas.DataFrame.div() 方法用于对DataFrame的元素进行除法运算。它可以将DataFrame的每个元素除以一个标量、Series或另一个DataFrame的对应元素。本文主要介绍一下Pandas中pandas.DataFrame.div方法的使用。

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

DataFrame.rdiv(selfotheraxis='columns'level=Nonefill_value=None)    [source]

获取数dataframe和其他元素的浮点除法(二元运算符truediv)。

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

参数

other : 标量 (scalar),序列(sequence),Series或DataFrame

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

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

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

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

level : intlabel

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

fill_value : floatNone,默认为None

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

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

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

返回

DataFrame

算术运算的结果。

Note

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

例子

1)与标量相除

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': [10, 20, 30],
    'B': [40, 50, 60]
})

# 显示原始 DataFrame
print("原始 DataFrame:")
print(df)

# 与标量相除
result_scalar = df.div(10)
print("\n与标量相除:")
print(result_scalar)

2)与 Series 相除

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': [10, 20, 30],
    'B': [40, 50, 60]
})

# 显示原始 DataFrame
print("原始 DataFrame:")
print(df)

# 创建一个 Series
s = pd.Series([1, 2])

# 与 Series 相除(会自动广播)
result_series = df.div(s, axis=0)
print("\n与 Series 相除:")
print(result_series)

3)与另一个 DataFrame 相除

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': [10, 20, 30],
    'B': [40, 50, 60]
})

# 显示原始 DataFrame
print("原始 DataFrame:")
print(df)

# 创建另一个 DataFrame
df2 = pd.DataFrame({
    'A': [2, 5, 10],
    'B': [4, 10, 15]
})

# 与另一个 DataFrame 相除
result_df = df.div(df2)
print("\n与另一个 DataFrame 相除:")
print(result_df)

4)按级别除以 MultiIndex

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({
    'angles': [0, 3, 4],
    'degrees': [360, 180, 360]
}, index=['circle', 'triangle', 'rectangle'])

# 创建带有 MultiIndex 的 DataFrame
df_multindex = pd.DataFrame({
    'angles': [0, 3, 4, 4, 5, 6],
    'degrees': [360, 180, 360, 360, 540, 720]
}, index=[['A', 'A', 'A', 'B', 'B', 'B'], ['circle', 'triangle', 'rectangle', 'square', 'pentagon', 'hexagon']])

print("带有 MultiIndex 的 DataFrame:")
print(df_multindex)

# 按级别除以 MultiIndexprint("\n按级别除以 MultiIndex:")
result = df.div(df_multindex, level=1, fill_value=0)
print(result)
推荐阅读
cjavapy编程之路首页