DataFrame.floordiv(self, other, axis='columns', level=None, fill_value=None)
获取dataframe
和其他元素的整数除法(二进制操作符floordiv
)。
与dataframe // other
等价,但支持用fill_value
替换其中一个输入中丢失的数据。与反向版本,rfloordiv
。
在灵活的包装器(add,sub,mul,div,mod,pow
)算术运算符:+,-,*,/,//,%,**
。
参数: | other : 标量(scalar),序列(sequence),Series或DataFrame 任何单个或多个元素的数据结构,或类似列表的对象。 axis : {0或'index',1或'columns'} 是按索引(0或“索引”)还是按列(1或“列”)进行比较。 对于Series输入,轴上要匹配Series索引。 level : 整数或标签 在一个级别上广播, 在传递的MultiIndex级别上匹配索引值。 fill_value : 在计算之前,请使用此值填充现有的缺失(NaN) 值以及成功完成DataFrame对齐所需的任何新元素。 如果两个对应的DataFrame位置中的数据均丢失,则结果将丢失。 |
返回值: | DataFrame 算术运算的结果。 |
Notes
不匹配的索引将合并在一起。
例子
>>> df = pd.DataFrame({'angles': [0, 3, 4],
... 'degrees': [360, 180, 360]},
... index=['circle', 'triangle', 'rectangle'])
>>> df
angles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加带有运算符版本的标量,该标量返回相同的结果
>>> df + 1
angles degrees
circle 1 361
triangle 4 181
rectangle 5 361
>>> df.add(1)
angles degrees
circle 1 361
triangle 4 181
rectangle 5 361
用常数除以反向版本
>>> df.div(10)
angles degrees
circle 0.0 36.0
triangle 0.3 18.0
rectangle 0.4 36.0
>>> df.rdiv(10)
angles degrees
circle inf 0.027778
triangle 3.333333 0.055556
rectangle 2.500000 0.027778
用操作员版本减去列表和按轴Series
>>> df - [1, 2]
angles degrees
circle -1 358
triangle 2 178
rectangle 3 358
>>> df.sub([1, 2], axis='columns')
angles degrees
circle -1 358
triangle 2 178
rectangle 3 358
>>> df.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']),
... axis='index')
angles degrees
circle -1 359
triangle 2 179
rectangle 3 359
将具有不同形状的DataFrame乘以运算符版本
>>> other = pd.DataFrame({'angles': [0, 3, 4]},
... index=['circle', 'triangle', 'rectangle'])
>>> other
angles
circle 0
triangle 3
rectangle 4
>>> df * other
angles degrees
circle 0 NaN
triangle 9 NaN
rectangle 16 NaN
>>> df.mul(other, fill_value=0)
angles degrees
circle 0 0.0
triangle 9 0.0
rectangle 16 0.0
按级别除以MultiIndex
>>> 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']])
>>> df_multindex
angles degrees
A circle 0 360
triangle 3 180
rectangle 4 360
B square 4 360
pentagon 5 540
hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)
angles degrees
A circle NaN 1.0
triangle 1.0 1.0
rectangle 1.0 1.0
B square 0.0 0.0
pentagon 0.0 0.0
hexagon 0.0 0.0