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))