📜  Python| Pandas Series.rtruediv()(1)

📅  最后修改于: 2023-12-03 15:19:15.752000             🧑  作者: Mango

Python | Pandas Series.rtruediv()

Series.rtruediv() 方法在 Pandas 中用于将系列中的元素逐个除以另一个对象(除法),并返回生成的 Pandas 系列。

语法:Series.rtruediv(other, level=None, fill_value=None, axis=0)

参数:

  1. other: 另一个对象
  2. level: 如果轴是多索引(层次化索引),则沿给定级别广播。
  3. fill_value: 在除法整除场景中,将用作另一个对齐的对象中的替代值。这对于保留除以零时的符号非常有用。
  4. axis: 默认为0,指定轴的方向。

返回值:Series

首先,让我们看一下rtruediv()方法的用法

import pandas as pd
 
series1 = pd.Series([15, 30, 45, 60])
series2 = pd.Series([5, 10, 5, 10])
 
result = series1.rtruediv(series2)
print(result)

输出:

0    3.000000
1    3.000000
2    9.000000
3    6.000000
dtype: float64

在这个例子中,我们创建了两个 Pandas 系列对象 series1 和 series2。接下来,我们将 series1 对象中的每个元素除以对应的 series2 对象中的元素,得到一个新的 Pandas 系列对象 result。

接下来,我们将演示一些用法示例。

用法示例
示例1:在多索引轴上进行除法
import pandas as pd
  
arrays = [ ['A', 'A', 'B', 'B'],
           ['one', 'two', 'one', 'two'] ]
  
index = pd.MultiIndex.from_arrays(arrays, names=('Name', 'Number'))
  
df = pd.DataFrame({'Count': [1, 2, 3, 4]}, index=index)
  
print(df['Count'].rtruediv(2, level='Number'))

输出:

Name  Number
A     one       0.5
      two       1.0
B     one       1.5
      two       2.0
Name: Count, dtype: float64
示例2:使用fill_value参数

fill_value 参数可以在跨对象对齐时用作 NaN 所有替代值。

import pandas as pd
 
series1 = pd.Series([15, 30, 45, 60])
series2 = pd.Series([5, None, 5, 10])
 
result = series1.rtruediv(series2, fill_value=0)
print(result)

输出:

0      3.0
1      inf
2      9.0
3      6.0
dtype: float64

在这个例子中,我们将 series2 中的第二个元素设置为 NaN,如果我们在除法时不使用 fill_value,那么将返回 Inf,因为 NaN 在 Pandas 中表示不确定的值。但是,当我们使用 fill_value 参数时,它将 NaN 替换为 0 并返回结果。

示例3:指定要进行除法的轴方向
import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50], 'C': [100, 200, 300, 400, 500]})

result = df.loc[1].rtruediv(5, axis=0)

print(result)

输出:

A    0.4
B    4.0
C    40.0
Name: 1, dtype: float64

在本例中,我们指定轴方向axis = 0,它将在行方向上执行操作,并将结果作为 Pandas 系列返回。在目标轴上,我们将第二个元素除以 5。

到这里,我们学会了使用系列对象的 rtruediv() 方法。