DataFrame.add(other, axis='columns', level=None, fill_value=None)
添加dataframe
和其他元素(二进制操作符add
)。
等价于dataframe
+ other
,但是支持用fill_value
替换其中一个输入中缺失的数据。使用反向版本,radd
。
在灵活的包装器(add
, sub
, mul
, div
, mod
, pow
)到算术运算符:+
,-
,*
,/
,//
,%
,**
。
参数: | other : 任何单个或多个元素数据结构,或类似列表对象。 axis : {0 或 ‘index’, 1 或 ‘columns’} 不论通过index(0 或 ‘index’)或columns(1 or ‘columns’)进行比较。 对于 level : 跨level广播,匹配传递的MultiIndex level的索引值。 fill_value : 在计算之前,用这个值填充现有的缺失值( 以及成功进行 如果两个对应的 |
返回: |
算术运算的结果。 |
注意:
不匹配的索引将被合并在一起
例子,
以下是使用 pandas.DataFrame.add
函数和其他操作符版本的示例:
1)添加标量
使用操作符版本和 add
函数相加:
import pandas as pd df = pd.DataFrame({ 'angles': [0, 3, 4], 'degrees': [360, 180, 360] }, index=['circle', 'triangle', 'rectangle']) print("原始 DataFrame:") print(df) print("\nDataFrame + 1:") print(df + 1) print("\nDataFrame.add(1):") print(df.add(1))
2)除以常数的倒数形式
import pandas as pd df = pd.DataFrame({ 'angles': [0, 3, 4], 'degrees': [360, 180, 360] }, index=['circle', 'triangle', 'rectangle']) print("原始 DataFrame:") print(df) print("\nDataFrame.div(10):") print(df.div(10)) print("\nDataFrame.rdiv(10):") print(df.rdiv(10))
3)用操作符版本按 axis 减去列表和序列
import pandas as pd df = pd.DataFrame({ 'angles': [0, 3, 4], 'degrees': [360, 180, 360] }, index=['circle', 'triangle', 'rectangle']) print("原始 DataFrame:") print(df) print("\nDataFrame - [1, 2]:") print(df - [1, 2]) print("\nDataFrame.sub([1, 2], axis='columns'):") print(df.sub([1, 2], axis='columns')) print("\nDataFrame.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']), axis='index'):") print(df.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']), axis='index'))
4)将不同形状的 DataFrame 与运算符版本相乘
import pandas as pd df = pd.DataFrame({ 'angles': [0, 3, 4], 'degrees': [360, 180, 360] }, index=['circle', 'triangle', 'rectangle']) print("原始 DataFrame:") print(df) other = pd.DataFrame({ 'angles': [0, 3, 4] }, index=['circle', 'triangle', 'rectangle']) print("\nOther DataFrame:") print(other) print("\nDataFrame * Other DataFrame:") print(df * other) print("\nDataFrame.mul(other, fill_value=0):") print(df.mul(other, fill_value=0))
5)除以一个 MultiIndex 的 level
import pandas as pd df = pd.DataFrame({ 'angles': [0, 3, 4], 'degrees': [360, 180, 360] }, index=['circle', 'triangle', 'rectangle']) print("原始 DataFrame:") print(df) 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("\nMultiIndex DataFrame:") print(df_multindex) print("\nDataFrame.div(df_multindex, level=1, fill_value=0):") print(df.div(df_multindex, level=1, fill_value=0))