09_numpy常用函数
np.abs() 元素的绝对值参数是 number 或 arraynp.ceil() 向上取整参数是 number 或 arraynp.floor() 向下取整参数是 number 或 arraynp.isnan() 检测数组元素是否为 NaNNot a Number非数值 的函数~np.isnan() 取反找出哪些不是 NaNnp.multiply()逐元素相乘对应位置相乘。如果第二个参数传递的是number原数组中所有元素乘以这个数字返回新的数组如果第二个参数也是一个数组是将两个数组中对应位置的元素相乘返回一个新的数组其形状与输入数组相同。np.divide() 元素相除参数是 number 或 arraynp.where(condition, x, y) 三元运算符x if condition else yNumPy 舍入三兄弟rint / around / round“四舍六入五成双”“点五看偶定去向。”“偶舍奇入无偏差”也叫银行家舍入Banker’s Roundingimportnumpyasnp# 2.7 numpy常用函数defbaseFunction01():array1np.array([[1,-2.8,3.5],[4,-5.1,6.7]])print(array1,array1.dtype)print()# np.abs() 元素的绝对值参数是 number 或 arrayprint(np.abs(array1))# np.ceil() 向上取整参数是 number 或 arrayprint(向上取整:\n,np.ceil(array1))# np.floor() 向下取整参数是 number 或 arrayprint(向下取整\n,np.floor(array1))# np.isnan() 检测数组元素是否为 NaNNot a Number非数值 的函数array3np.array([1.0,2.0,np.nan,4.0,np.nan,6.0])# 检测哪些是 NaN空的都是Trueprint(np.isnan(array3))# 输出: [False False True False True False]# 取反找出哪些不是 NaNprint(~np.isnan(array3))# 输出: [ True True False True False True]defbaseFunction02():array4np.array([[1,2,3],[4,5,6]])# np.multiply()逐元素相乘对应位置相乘。# 如果第二个参数传递的是number原数组中所有元素乘以这个数字返回新的数组# 如果第二个参数也是一个数组是将两个数组中对应位置的元素相乘返回一个新的数组其形状与输入数组相同。 multiply乘法过程逐元素相乘对应位置相乘。 [[1, 2, 3], [[1, 2, 3], [[1×1, 2×2, 3×3], [[ 1, 4, 9], [4, 5, 6]] × [4, 5, 6]] [4×4, 5×5, 6×6]] [16, 25, 36]] print(元素相乘:\n,np.multiply(array4,array4))print(元素相乘写法V2:\n,array4*array4)# np.divide() 元素相除参数是 number 或 arrayprint(divide元素相除:\n,np.divide(array4,2))# np.where(condition, x, y) 三元运算符x if condition else yprint(三元运算符:\n,np.where(array43,1,0))print(**60)defbaseFunction03():# NumPy 舍入三兄弟rint / around / round# np.rint()/np.around()/np.round() 四舍六入五成双银行家舍入,只有x.5才会不一样其他小数都一样# NumPy 用的是 四舍六入五成双也叫银行家舍入Bankers Rounding# 为什么要这样设计传统的四舍五入在大量数据中会引入系统性偏差 传统四舍五入 1.5→2, 2.5→3, 3.5→4, 4.5→5 ... .5 全部进位 → 整体偏高 ↑ 银行家舍入 1.5→2, 2.5→2, 3.5→4, 4.5→4 ... .5 一半进位一半舍去 → 无偏差 ✓ # 代码案例四舍六入五成双# # ≤4 舍去# # ≥6 进位# # 5 → 正好为0.5时,看前一位是奇数还是偶数,偶舍奇入array2np.array([2.3,2.5,3.5,1.4,11.6,7.5])print(四舍六入五成双\n,np.rint(array2))print(**60)print(四舍六入五成双点五看偶定去向。偶舍奇入无偏差rint/around/round一个样)# 对 0.5, 1.5, 2.5, 3.5 进行四舍六入五成双# 规则正好为0.5时看整数部分偶舍奇入print(np.round([0.5,1.5,2.5,3.5]))# 输出: [0. 2. 2. 4.]# 0.5 - 0 (0是偶数舍)# 1.5 - 2 (1是奇数入)# 2.5 - 2 (2是偶数舍)# 3.5 - 4 (3是奇数入)if__name____main__:# baseFunction01()# baseFunction02()# 四舍六入五成双baseFunction03()