科学计算工具NumPy(3):ndarray的元素处理

举报
DrugAI 发表于 2021/07/15 03:00:22 2021/07/15
【摘要】 科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 元素计算函数 ceil(): 向上最接近的整数,参数是 number 或 array floor(): 向下最接近的整数,参数是 number 或 array rint(): 四舍五...

科学计算工具NumPy(1):ndarray的创建于数据类型

科学计算工具NumPy(2):ndarray的矩阵处理

科学计算工具NumPy(3):ndarray的元素处理

元素计算函数

  1. ceil(): 向上最接近的整数,参数是 number 或 array

  2. floor(): 向下最接近的整数,参数是 number 或 array

  3. rint(): 四舍五入,参数是 number 或 array
  4. isnan(): 判断元素是否为 NaN(Not a Number),参数是 number 或 array
  5. multiply(): 元素相乘,参数是 number 或 array
  6. divide(): 元素相除,参数是 number 或 array
  7. abs():元素的绝对值,参数是 number 或 array
  8. where(condition, x, y): 三元运算符,x if condition else y

  
  1. # randn() 返回具有标准正态分布的序列。
  2. arr = np.random.randn(2,3)
  3. print(arr)
  4. print(np.ceil(arr))
  5. print(np.floor(arr))
  6. print(np.rint(arr))
  7. print(np.isnan(arr))
  8. print(np.multiply(arr, arr))
  9. print(np.divide(arr, arr))
  10. print(np.where(arr > 0, 1, -1))

运行结果:


  
  1. # print(arr)
  2. [[-0.75803752 0.0314314 1.15323032]
  3. [ 1.17567832 0.43641395 0.26288021]]
  4. # print(np.ceil(arr))
  5. [[-0. 1. 2.]
  6. [ 2. 1. 1.]]
  7. # print(np.floor(arr))
  8. [[-1. 0. 1.]
  9. [ 1. 0. 0.]]
  10. # print(np.rint(arr))
  11. [[-1. 0. 1.]
  12. [ 1. 0. 0.]]
  13. # print(np.isnan(arr))
  14. [[False False False]
  15. [False False False]]
  16. # print(np.multiply(arr, arr))
  17. [[ 5.16284053e+00 1.77170104e+00 3.04027254e-02]
  18. [ 5.11465231e-03 3.46109263e+00 1.37512421e-02]]
  19. # print(np.divide(arr, arr))
  20. [[ 1. 1. 1.]
  21. [ 1. 1. 1.]]
  22. # print(np.where(arr > 0, 1, -1))
  23. [[ 1 1 -1]
  24. [-1 1 1]]

元素统计函数

  1. np.mean()np.sum():所有元素的平均值,所有元素的和,参数是 number 或 array

  2. np.max()np.min():所有元素的最大值,所有元素的最小值,参数是 number 或 array

  3. np.std()np.var():所有元素的标准差,所有元素的方差,参数是 number 或 array
  4. np.argmax()np.argmin():最大值的下标索引值,最小值的下标索引值,参数是 number 或 array
  5. np.cumsum()np.cumprod():返回一个一维数组,每个元素都是之前所有元素的 累加和 和 累乘积,参数是 number 或 array
  6. 多维数组默认统计全部维度,axis参数可以按指定轴心统计,值为0则按列统计,值为1则按行统计。

  
  1. arr = np.arange(12).reshape(3,4)
  2. print(arr)
  3. print(np.cumsum(arr)) # 返回一个一维数组,每个元素都是之前所有元素的 累加和
  4. print(np.sum(arr)) # 所有元素的和
  5. print(np.sum(arr, axis=0)) # 数组的按列统计和
  6. print(np.sum(arr, axis=1)) # 数组的按行统计和

运行结果:


  
  1. # print(arr)
  2. [[ 0 1 2 3]
  3. [ 4 5 6 7]
  4. [ 8 9 10 11]]
  5. # print(np.cumsum(arr))
  6. [ 0 1 3 6 10 15 21 28 36 45 55 66]
  7. # print(np.sum(arr)) # 所有元素的和
  8. 66
  9. # print(np.sum(arr, axis=0)) # 0表示对数组的每一列的统计和
  10. [12 15 18 21]
  11. # print(np.sum(arr, axis=1)) # 1表示数组的每一行的统计和
  12. [ 6 22 38]

元素判断函数

  1. np.any(): 至少有一个元素满足指定条件,返回True
  2. np.all(): 所有的元素满足指定条件,返回True

  
  1. arr = np.random.randn(2,3)
  2. print(arr)
  3. print(np.any(arr > 0))
  4. print(np.all(arr > 0))

运行结果:


  
  1. [[ 0.05075769 -1.31919688 -1.80636984]
  2. [-1.29317016 -1.3336612 -0.19316432]]
  3. True
  4. False

元素去重排序函数

np.unique():找到唯一值并返回排序结果,类似于Python的set集合


  
  1. arr = np.array([[1, 2, 1], [2, 3, 4]])
  2. print(arr)
  3. print(np.unique(arr))

运行结果:


  
  1. [[1 2 1]
  2. [2 3 4]]
  3. [1 2 3 4]

 

文章来源: drugai.blog.csdn.net,作者:DrugAI,版权归原作者所有,如需转载,请联系作者。

原文链接:drugai.blog.csdn.net/article/details/104268917

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。