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)