Pandas Series对象的二元运算精讲
Series 的二元运算和 Numpy 中一元数组的运算相似。示例代码如下。
值都不等于b序列的值,所以返回的都是True。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
In [1]: import pandas as pd In [2]: a=pd.Series([0,1,2,3,4,5]) In [3]: b=pd.Series([-5,-4,-3,-2,-1,0])
1. Series序列数学基本运算
与 Numpy 中的 add 方法类似,计算两个序列的和。In [4]: a.add(b) # 加法 Out[4]: 0 -5 1 -3 2 -1 3 1 4 3 5 5 dtype: int64与 Numpy 中的 substract 方法类似,计算两个序列的差。
In [5]: a.sub(b) # 减法 Out[5]: 0 5 1 5 2 5 3 5 4 5 5 5 dtype: int64与 Numpy 中的 multiply 方法类似,计算两个序列的乘积。
In [6]: a.mul(b) # 乘法 Out[6]: 0 0 1 -4 2 -6 3 -6 4 -4 5 0 dtype: int64与 Numpy 中的 divide 方法类似,计算两个序列的商。
In [7]: a.div(b) # 除法 Out[7]: 0 -0.000000 1 -0.250000 2 -0.666667 3 -1.500000 4 -4.000000 5 inf dtype: float64取商的整数部分。
In [8]: a.floordiv(b) # 向下取整除法 Out[8]: 0 0 1 -1 2 -1 3 -2 4 -4 5 0 dtype: int64与 Numpy 中的 divmod 方法类似,取模。
In [9]: a.mod(b) # 取模 Out[9]: 0 0 1 -3 2 -1 3 -1 4 0 5 0 dtype: int64
2. Series比较序列的大小
lt 方法用来判断一个序列的值是否小于另一个序列的值。因为 a 序列所有的值都大于 b 序列所有的值,所以返回的都是False。In [10]: a.lt(b) # 是否小于另一个序列的值 Out[10]: 0 False 1 False 2 False 3 False 4 False 5 False dtype: boolgt 方法用来判断一个序列的值是否大于另一个序列的值。因为a序列所有的值都大于b序列所有的值,所以返回的都是True。
In [11]: a.gt(b) # 是否大于另一个序列的值 Out[11]: 0 True 1 True 2 True 3 True 4 True 5 True dtype: boolle 方法用来判断一个序列的值是否小于等于另一个序列的值。因为 a 序列所有的值都大于 b 序列所有的值,所以返回的都是 False。
In [12]: a.le(b) # 是否小于等于另一个序列的值 Out[12]: 0 False 1 False 2 False 3 False 4 False 5 False dtype: boolge 方法用来判断一个序列的值是否大于等于另一个序列的值。因为 a 序列所有的值都大于 b 序列所有的值,所以返回的都是 True。
In [13]: a.ge(b) # 是否大于等于另一个序列的值 Out[13]: 0 True 1 True 2 True 3 True 4 True 5 True dtype: boolne 方法用来判断一个序列的值是否不等于另一个序列的值。因为 a 序列所有的值都不等于 b 序列的值,所以返回的都是 True。
值都不等于b序列的值,所以返回的都是True。
In [14]: a.ne(b) # 是否不等于另一个序列的值 Out[14]: 0 True 1 True 2 True 3 True 4 True 5 True dtype: booleq 方法用来判断一个序列的值是否等于另一个序列的值。因为a序列所有的值都不等于b序列的值,所以返回的都是False。
In [15]: a.eq(b) # 是否等于另一个序列的值 Out[15]: 0 False 1 False 2 False 3 False 4 False 5 False dtype: bool
3. Series序列的其他运算
与 Numpy 中的 dot 方法类似,计算两个序列的点积。In [16]: a.dot(b) # 点乘 Out[16]: -20与 Numpy 中的 absolute 方法类似,计算序列中所有值的绝对值。
In [17]: b.abs() Out[17]: 0 5 1 4 2 3 3 2 4 1 5 0 dtype: int64序列的加法是将每一个元素都加上该数。
In [18]: c=a+0.5 In [19]: c Out[19]: 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 dtype: float64与 Numpy 中的 around 方法类似,对序列所有元素取整。
In [20]: c.round() # 取整 Out[20]: 0 0.0 1 2.0 2 2.0 3 4.0 4 4.0 5 6.0 dtype: float64
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。