1. 数值运算

  1. 当进行数值运算时,pandas会按照标签对齐元素:运算符会对标签相同的两个元素进行计算。对于DataFrame,对齐会同时发生在行和列上。

    • 当某一方的标签不存在时,默认以NaN填充。缺失值会在运算过程中传播。

    由于NaN是浮点数中的一个特殊值,因此结果的元素类型被转换为float64

    • 结果的索引是双方索引的并集。
  2. 除了支持加减乘除等运算符之外,pandas还提供了对应的函数: add/sub/mul/div/mod(other, axis='columns', level=None, fill_value=None):

    • other:一个DataFrame/Series或者一个array-like,或者一个标量值
    • axis:指定操作的轴。可以为0/1/'index'/'columns' 。其意义是:操作发生在哪个轴上。
    • fill_value:指定替换掉NaN的值。可以为None(不替换),或者一个浮点值。注意:如果发现两个NaN相加,则结果仍然还是NaN,而并不会是两个fill_value相加。
    • level:一个整数或者label,用于多级索引的运算。

    全部运算操作函数为:

    1. add,sub,mul,div,truediv,floordiv,mod,pow,radd,rsub,rmul,rdiv,rtruediv,
    2. rfloordiv,rmod,rpow # 这些的参数为 other,axis,level,fill_value
    3. lt,gt,le,ge,ne,eq# 这些的参数为 ohter,axis,level

    对于DataFrameSeries的运算,默认会用DataFrame的每一行与Series运算。如果你希望使用DataFrame的每一列与Series运算,则必须使用二元操作函数,并且指定axis=0(表示操作匹配的轴)。

    operate1 operate2 operate3