数组的裁剪与压缩

# 数组的裁剪
ndarray.clip(min=下限, max=上限)
# 数组的压缩
ndarray.compress(条件)
a = np.arange(1, 10)
# 数组裁剪: 最小值不小于下限, 最大值不大于上限
print(a.clip(min=3, max=6))
print(a.compress(a>=6))

加法通用函数

np.add(a, a)     # 求两数组之和
np.add.reduce(a)    # 求a数组元素的累加和
np.add.accumulate(a)    # 返回a数组累加和的过程
np.add.outer([10, 20, 30], a) # 外和

案例:

print('-' * 45)
a = a.reshape(3, 3)
b = a[::]
print(np.add(a, b))
a = a.ravel()
print(a)
print(np.add.reduce(a))  # 求a元素的累加和
print(np.add.accumulate(a)) # a累加和的过程
print(np.add.outer([10,20], a)) # 外和

乘除法通用函数

# 返回ndarray数组元素的累乘结果
ndarray.prod()
# 返回ndarray数组元素累乘的过程
ndarray.cumprod()
# a数组 / b数组
np.true_divide(a,b)    np.divide(a,b)
# 地板除
np.floor_divide(a, b)
np.ceil(a / b)   # 天花板取整
np.round(a / b)  # 四舍五入
np.trunc(a / b)  # 截断取整

位运算通用函数

位异或:

c = a ^ b
c = np.bitwise_xor(a, b)

按位异或操作可以方便的判断两个数据是否同号.

7   0111
6   0110
5   0101
4   0100
3   0011
2   0010
1   0001
0   0000
-1  1111
-2  1110
-3  1101
-4  1100
-5  1011
-6  1010
-7  1001
-8  1000
print('-' * 45)
print(a)
print(b)
print(a^b < 0)   # 判断是否异号
print(np.bitwise_xor(a,b) < 0)   # 判断是否异号

位与:

e = a & b
e = np.bitwise_and(a, b)

利用位与运算计算某个数字是否是2的幂.

1   2^0   00001        0   00000
2   2^1   00010        1   00001
4   2^2   00100        3   00011
8   2^3   01000        7   00111
16  2^4   10000       15   01111
....

案例:

print('-' * 45)
for i in range(1000):if i & (i-1) == 0:print(i, end=' ')a = np.arange(1, 1000)
print(a[a&(a-1) == 0])

其他位运算通用函数

np.bitwise_or(a, b)      # 或运算
np.bitwise_not(a)       # 非
np.left_shift(a, 1)     # 左移
np.right_shift(a, 1)    # 右移

三角函数通用函数

np.sin(a)
np.cos(a)
....

numpy的通用函数相关推荐

  1. numpy的通用函数:快速的元素级数组函数

    通用函数(ufunc)是对ndarray中的数据执行元素级运算的函数.可看作简单函数的矢量化包装. 一元ufunc sqrt对数组中的所有元素开平方 exp对数组中的所有元素求指数 In [93]: ...

  2. Numpy中的通用函数和聚合

    https://www.toutiao.com/a6675559636919124483/ 概述 在Numpy中存在着通用函数和聚合去对数据进行处理,numpy通过向量进行对数据数组的计算,而这些向量 ...

  3. 数据科学 IPython 笔记本 9.5 NumPy 数组上的计算:通用函数

    9.5 NumPy 数组上的计算:通用函数 本节是<Python 数据科学手册>(Python Data Science Handbook)的摘录. 译者:飞龙 协议:CC BY-NC-S ...

  4. Python ln_Python入门教程(三):史上最全的Numpy计算函数总结,建议收藏!

    点击上方 蓝字 关注我们 Numpy提供了灵活的.静态类型的.可编译的程序接口口来优化数组的计算,也被称作向量操作,因此在Python数据科学界Numpy显得尤为重要.Numpy的向量操作是通过通用函 ...

  5. [转]numpy性能优化

    转自:http://blog.csdn.net/pipisorry/article/details/39087583 http://blog.csdn.net/pipisorry/article/de ...

  6. python转置_python数据分析类库系列Numpy之 数组转置和轴对换

    转置是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作).数组不仅有transpose方法,还有一个特殊的T属性 arr = np.arange(15).reshape((3, 5)) ...

  7. 先进的NumPy数据科学

    We will be covering some of the advanced concepts of NumPy specifically functions and methods requir ...

  8. python乘法表运算_Python入门教程(三):史上最全的Numpy计算函数总结,建议收藏!...

    点击上方 蓝字 关注我们 Numpy提供了灵活的.静态类型的.可编译的程序接口口来优化数组的计算,也被称作向量操作,因此在Python数据科学界Numpy显得尤为重要.Numpy的向量操作是通过通用函 ...

  9. NumPy:数组计算

    一.MumPy:数组计算 1.NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 2.NumPy的主要功能: ndarray,一个多维数组结构,高效且节省空间 无需循 ...

最新文章

  1. 当你累了,准备放弃时,看看这个吧!!!
  2. 浅谈批处理获取管理员运行权限的几种方法
  3. 【F#2.0系列】介绍String类型
  4. 阶段-关口系统--范围界定阶段---学习记录
  5. c++ file operation (reference 5)
  6. 百度富文本编辑器,改变图片上传存储路径
  7. node npm cnpm 全局安装淘宝NPM 镜像
  8. WebTrends 更强大、更灵活的网站分析工具
  9. DS18B20使用说明
  10. 史上最全的前端资源汇总(上)
  11. linux 字符 拨号上网,LINUX下用ADSL拨号上网
  12. 容联七陌云客服通话超强稳定,今通国际客户服务更加便捷
  13. 华为手机adb connect连接失败解决方案(转)
  14. Google:我能把文本变成音乐,但这个 AI 模型不能对外发布!
  15. 【帮推】欢迎搭乘KAB号时光飞船~
  16. 什么是脏读,不可重复读,幻觉读?
  17. 推荐系统论文重要的三个指标——Recall、NDCG、RMSE
  18. c语言程序只能有一个源程序文件,下列说法哪个正确?() A.一个程序可以包含多个源文件 B.一个源文件中只能有一个类 C.一个源文件中可以...
  19. 机器学习算法系列之K近邻算法
  20. linux在vi创建文件,Linux下创建文本文件(vi/vim命令使用详解)

热门文章

  1. Perl例程24例(包含很多运用示例-整理版)
  2. 【计算机网络高分笔记】第三章:数据链路层
  3. Django REST Framework——4. 请求与响应
  4. 80c51单片机c语言库涵数,80C51单片机C语言应用.ppt
  5. STM32F0项目进阶之实时时钟DS1307
  6. 微型生物传感器,如何照亮地球最贫瘠的角落?
  7. 欧尼酱讲JVM(20)——了解垃圾回收
  8. 编码器A相B相Z相的定义
  9. 瑞芯微和全志的芯片选型和开发异同点
  10. 最全的Python定时任务神器,Schedule学会这10招足够了!