#!/usr/bin/env python # coding: utf-8 # # 数组方法 # In[1]: get_ipython().run_line_magic('pylab', '') # ## 求和 # In[2]: a = array([[1,2,3], [4,5,6]]) # 求所有元素的和: # In[3]: sum(a) # 指定求和的维度: # 沿着第一维求和: # In[4]: sum(a, axis=0) # 沿着第二维求和: # In[5]: sum(a, axis=1) # 沿着最后一维求和: # In[6]: sum(a, axis=-1) # 或者使用 `sum` 方法: # In[7]: a.sum() # In[8]: a.sum(axis=0) # In[9]: a.sum(axis=-1) # ## 求积 # 求所有元素的乘积: # In[10]: a.prod() # 或者使用函数形式: # In[11]: prod(a, axis=0) # ## 求最大最小值 # In[12]: from numpy.random import rand a = rand(3, 4) get_ipython().run_line_magic('precision', '3') a # 全局最小: # In[13]: a.min() # 沿着某个轴的最小: # In[14]: a.min(axis=0) # 全局最大: # In[15]: a.max() # 沿着某个轴的最大: # In[16]: a.max(axis=-1) # ## 最大最小值的位置 # 使用 `argmin, argmax` 方法: # In[17]: a.argmin() # In[18]: a.argmin(axis=0) # ## 均值 # 可以使用 `mean` 方法: # In[19]: a = array([[1,2,3],[4,5,6]]) # In[20]: a.mean() # In[21]: a.mean(axis=-1) # 也可以使用 `mean` 函数: # In[22]: mean(a) # 还可以使用 `average` 函数: # In[23]: average(a, axis = 0) # `average` 函数还支持加权平均: # In[24]: average(a, axis = 0, weights=[1,2]) # ## 标准差 # 用 `std` 方法计算标准差: # In[25]: a.std(axis=1) # 用 `var` 方法计算方差: # In[26]: a.var(axis=1) # 或者使用函数: # In[27]: var(a, axis=1) # In[28]: std(a, axis=1) # ## clip 方法 # 将数值限制在某个范围: # In[29]: a # In[30]: a.clip(3,5) # 小于3的变成3,大于5的变成5。 # ## ptp 方法 # 计算最大值和最小值之差: # In[31]: a.ptp(axis=1) # In[32]: a.ptp() # ## round 方法 # 近似,默认到整数: # In[33]: a = array([1.35, 2.5, 1.5]) # 这里,.5的近似规则为近似到偶数值,可以参考: # # https://en.wikipedia.org/wiki/Rounding#Round_half_to_odd # In[34]: a.round() # 近似到一位小数: # In[35]: a.round(decimals=1)