NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

1. 数组创建

import numpy as np# numpy.arange(start, stop, step, dtype)
x = np.arange(10,20,2)a = np.array([1, 2, 3, 4, 5, 6], ndmin=2)
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.dtype)
a = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
print(a.dtype)b = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
print(b.dtype)
#np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)a = np.ones((2, 3, 4))
a = np.zeros((2, 3, 4))
a = np.linspace(1, 10, 10)
a = np.linspace(1, 10, 10).reshape([2, 5])
a = np.arange(9)
a = np.linspace(1, 10, 10).reshape(2, 5)
a = np.arange(0, 10, 2)a = np.arange(12).reshape(3, 4)x = [(1, 2, 3), (4, 5, 6)]
a = np.asarray(x)
a = np.logspace(2, 5)
# np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)print(a)

2.查看数组属性

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)
print(a.ndim)
print(a.itemsize)

3. 数组切片和筛选

a = np.arange(10)
s = slice(2, 7, 2)   # 从索引 2 开始到索引 7 停止,间隔为2
print(a[s])
print(a[2:7:2])a = np.array([[1, 2, 3], [3, 4, 5], [4, 5, 6]])
print(a[..., 1])   # 第2列元素
print(a[1, :])   # 第2行元素
print(a[:, 1:])  # 第2列及剩下的所有元素a = np.arange(60).reshape(3, 4, 5)print(a[..., 3]) #  多个冒号用省略号代替
print(a)
print(a[:, 1, 1])
print(a[:, 1, -1])  # 最后一个维度取最后一个# numpy.sort(a, axis, kind, order)
a = np.array([[3, 7], [9, 1]])
print(np.sort(a))
#  numpy.where()
print("numpy.where()")
a = np.array([2, 4, 6, 8, 10])
print(a[np.where(a > 5)]) # 等价于 a[ a> 5]
print(a[a > 5])# 例子的条件为[[True,False], [True,False]], 分别对应最后输出结果的四个值。
# 第一个值从[1,9]中选,因为条件为True,所以是选1。
# 第二个值从[2,8]中选,因为条件为False,所以选8,后面以此类推。
print(np.where([[True, False], [True, True]], [[1, 2], [3, 4]], [[9, 8], [7, 6]]))# numpy.extract() 函数根据某个条件从数组中抽取元素,返回满条件的元素。
a = np.arange(10)
condition = np.mod(a, 2) == 0
np.extract(condition, a)  # 数组中提取出能整除2的数

4. 数组统计

a = np.arange(27).reshape(3, 3, 3)
print(a)
print(np.max(a, axis=2))  #最大值
print(np.argmax(a, axis=2))  #最大值索引
print(np.min(a, axis=2))
print(np.argmin(a, axis=2))np.mean(a)
np.mean(a, axis=0)np.average(a)
np.std(a)
np.var(a)

5. 数组运算

a = np.arange(9).reshape(3, 3)
b = a * 2
print(b)
print(a+b)
print(np.hsplit(a, 3))  # 沿着水平方向分割为3个相同大小的子数组
x = np.split(a, 3, axis=1)
print(x)  # x为含有三个子数组的列表print(a.flatten())  # 展开数组np.vsplit(a, 3)
np.split(a, 3, axis=0)a = np.arange(60).reshape(3, 4, 5)
print(np.dsplit(a, 5))  # 按深度方向分割数组

python库numpy基本用法相关推荐

  1. python中numpy的用法_Python中numpy多维数组的用法

    继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法. 加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作. a = np.arange(4) 输出 ...

  2. python库numpy使用技巧(一)——提取数组中非零元素

    使用库numpy Matlab中 通过逻辑矩阵可快速得到 a = [1,2,3,4,5,6]a =1 2 3 4 5 6b = logical([1,0,0,1,1,0])b =1 0 0 1 1 0 ...

  3. python库numpy使用技巧(二)——随机抽取二维矩阵中多行或多列

    使用库numpy 创建一个二维数组 import numpy as nparray = np.arange(24).reshape((4,6))""" array([[ ...

  4. centos7 python3安装numpy_CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)...

    0.1准备工作 安装好CentOS7,配置好网络,确保网络畅通. 0.2root授权 首先:当前用户为kaid # vim /etc/sudoers 在root ALL=(ALL) ALL之后添加: ...

  5. Python的numpy基本用法

    numpy中ndarray的属性 import numpy as npa = np.array([[1,2,3],[2,3,4]]) a type(a) a.shape a.ndim # 维度 # n ...

  6. python之numpy的用法

    arange函数类似于python的range函数,通过指定开始值.终值和步长来创建一维数组,注意数组不包括终值: linspace函数通过指定开始值.终值和元素个数来创建一维数组,可以通过endpo ...

  7. python库pickle的用法

    import pickle 有的时候,一个结果可能花了很久才得到,但是我们不希望每次都在程序开头重新处理一遍,这个时候我们选择将这些结果保存下来, pickle就是这样一个库. pickle:序列化和 ...

  8. python库--Numpy and pandas

    list转为矩阵 array = numpy.array([[1,2,3] [4,5,6]] ) 矩阵的维度属性:array.ndim # 注意这是最小的那个 array.shape # 几行几列 a ...

  9. 【python】numpy.random用法

    numpy中的random主要是用来产生随机数的一个模块. 模块使用中的常见问题: 1.randn()和rand()的区别:  numpy.random.randn(d0, d1, -, dn)是从标 ...

最新文章

  1. Python PK C++,究竟谁更胜一筹?
  2. 目前我见过的.net开源的或者免费的比较好的资源
  3. Java执行字符串中的运算公式
  4. C++binary exponent二元指数算法的实现(附完整源码)
  5. ubuntu下查看caj文件
  6. JS设置cookie,删除cookie
  7. 如何判断map为空_Java到底如何更优雅地判空
  8. 实现对顺序表的入栈出栈操作、利用栈将十进制转化成二进制输出【数据结构实验报告】
  9. 安卓能不能安装jar_PyCharm 2019安装教程
  10. 【NOIP 模拟赛】Evensgn 剪树枝 树形dp
  11. 创业维艰,技术人创业如何少走弯路?
  12. 华为数据之道(5):华为数字化转型的目标、蓝图和愿景
  13. 计算机组成与结构1800题,最新版数据结构1800题含完整答案详解
  14. labview连接周立功的USB转CAN(一)
  15. 开源成语答题小程序红包设置教程
  16. windows--bat--通过bat批处理写入.reg文件在注册
  17. 在线问卷调查数据表结构设计
  18. 《地球概论》(第3版)笔记 第二章 地球的宇宙环境
  19. 精进之路-day01
  20. C++学习笔记(11)

热门文章

  1. python代码执行过程记录_详解python程序中记录日志的方法
  2. 深度学习实战—基于TensorFlow 2.0的人工智能开发应用
  3. python画指数函数图像_解决python中的幂函数、指数函数问题
  4. 卫星覆盖分析传感器类型
  5. 基于激光雷达的里程计及3D点云地图中的定位方法
  6. 系列篇|编写一个翻转事件极性的package
  7. QT子对话框中的变量如何相互调用
  8. 常用的深度学习的linux代码(1.实时监测GPU情况2.当前正常使用的GPU情况3.杀掉特定某个进程4.杀掉特定某个进程)
  9. 数据处理压力中的自我拯救
  10. 远程挂载 NFS 共享目录引发死机问题