pandas.DataFrame.div#
- DataFrame.div(other, axis='columns', level=None, fill_value=None)[源代码]#
获取 DataFrame 与其他对象逐元素浮点除法(二元运算符 truediv)。
等同于
dataframe / other,但支持为输入中的缺失数据替换 fill_value。带有反向版本 rtruediv。在灵活的包装器(add、sub、mul、div、floordiv、mod、pow)中进行算术运算符:+、-、*、/、//、%、**。
- 参数:
- other标量、序列、Series、dict 或 DataFrame
任何单个或多个元素的任何数据结构,或类列表对象。
- axis{0 或 ‘index’,1 或 ‘columns’}
是按索引(0 或 ‘index’)还是按列(1 或 ‘columns’)进行比较。对于 Series 输入,axis 用于匹配 Series 索引。
- levelint 或 label
跨级别广播,匹配传递的 MultiIndex 级别的 Index 值。
- fill_valuefloat 或 None,默认 None
在计算之前,用此值填充现有的缺失(NaN)值,以及任何为成功对齐 DataFrame 所需的新元素。如果两个对应 DataFrame 位置的数据都缺失,结果将是缺失的。
- 返回:
- DataFrame
算术运算的结果。
另请参阅
DataFrame.add添加 DataFrames。
DataFrame.sub减去 DataFrames。
DataFrame.mul乘以 DataFrames。
DataFrame.div除以 DataFrames(浮点除法)。
DataFrame.truediv除以 DataFrames(浮点除法)。
DataFrame.floordiv除以 DataFrames(整数除法)。
DataFrame.mod计算模(除法后的余数)。
DataFrame.pow计算指数幂。
注意
不匹配的索引将被联合在一起。
示例
>>> 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
按轴乘以字典。
>>> df.mul({'angles': 0, 'degrees': 2}) angles degrees circle 0 720 triangle 0 360 rectangle 0 720
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index') angles degrees circle 0 0 triangle 6 360 rectangle 12 1080
使用运算符版本乘以不同形状的 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
>>> df_pow = pd.DataFrame({'A': [2, 3, 4, 5], ... 'B': [6, 7, 8, 9]}) >>> df_pow.pow(2) A B 0 4 36 1 9 49 2 16 64 3 25 81