DataFrame.pow(self, other, axis='columns', level=None, fill_value=None) [source]
获取dataframe和其他逐元素的指数幂(二进制运算符pow)。
与dataframe ** other
等效,但支持用fill_value
替换输入之一中的丢失数据。对于反向版本,rpow
。
在灵活的包装器(add,sub,mul,div,mod,pow
)中使用算术运算符:+, -, *, /, //, %, **
。
参数: | other : scalar, sequence, Series, 或 DataFrame 任何单个或多个元素的数据结构,或类似列表的对象。 axis : 是按索引( 还是按列( 对于Series输入,轴上要匹配Series索引。 level : 跨级别广播,匹配传递的多索引级别上的索引值。 fill_value : 在计算之前,用这个值填充现有的缺失值(NaN) 和成功的 如果两个对应的 那么结果也将丢失。 |
返回值: | DataFrame 算术运算的结果。 |
Notes
不匹配的索引将合并在一起。
例子
1)对所有元素求平方
import pandas as pd df = pd.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6] }) print(df.pow(2))
2)和另一个 DataFrame 逐元素幂运算
import pandas as pd df = pd.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6] }) df2 = pd.DataFrame({ 'A': [2, 3, 4], 'B': [1, 2, 1] }) print(df.pow(df2))
3)使用 fill_value 处理 NaN
import pandas as pd df3 = pd.DataFrame({ 'A': [1, None, 3], 'B': [4, 5, None] }) print(df3.pow(2, fill_value=0))
4)使用 Series 作为指数 (axis='index')
import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) exponent_series_index = pd.Series({0: 2, 1: 3, 2: 0.5}) df_powered_series_index = df.pow(exponent_series_index, axis='index') print("\nDataFrame 的不同行使用 Series 中的对应值作为指数:") print(df_powered_series_index)