• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python基础之Numpy的基本用法详解

    一、数据生成

    1.1 手写数组

    a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) # 一维数组
    b = np.array([[1, 2], [3, 4]]) #二维数组

    1.2 序列数组

    numpy.arange(start, stop, step, dtype),start默认0,step默认1

    c = np.arange(0, 10, 1, dtype=int)  # =np.arange(10)  [0 1 2 3 4 5 6 7 8 9]
    d = np.array([np.arange(1, 3), np.arange(4, 6)])  # 二维数组
    # 不过为了避免麻烦,通常序列二维数组都是通过reshape进行重新组织
    dd = c.reshape(2, 5)  # 将一维数组重新组合成2行5列
    

    1.3 随机数组

    numpy.random.random(size=None) 该方法返回[0.0, 1.0)范围的随机小数。
    numpy.random.randint() 该方法返回[low, high)范围的随机整数。
    该方法有三个参数low、high、size 三个参数。默认high是None,如果只有low,那范围就是[0,low)。如果有high,范围就是[low,high)
    numpy.random.randn(d0,d1,…,dn) 该方法返回一个或一组样本,具有正态分布
    np.random.normal 指定期望和方差的正太分布

    e = np.random.random(size=2)  # 一维数组,元素两个,[0.0,1.0]的随机数
    f = np.random.random(size=(2, 3))  # 两行三列数组,[0.0,1.0]的随机数
    
    h = np.random.randint(10, size=3)  # [0,10]范围内的一行三列随机整数
    i = np.random.randint(5, 10, size=(2, 3))  # [5,10]范围内的2行3列随机整数
    

    1.4 其他方式数组

    numpy.zeros 创建指定大小的数组,数组元素以0 来填充
    numpy.ones 创建指定形状的数组,数组元素以1 来填充
    numpy.empty 创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组,里面的元素的值是之前内存的值
    np.linspace 创建一个一维数组,数组是一个等差数列构成的
    numpy.logspace 创建一个于等比数

    j = np.zeros((2, 5))
    k = np.ones((2, 5))
    l = np.linspace(1, 20, 10)

    二、数组属性查看

    ndarray.ndim
    darray.shape 数组的维度和列,对于矩阵,n 行m 列
    ndarray.size 数组元素的总个数,相当于.shape 中n*m 的值
    ndarray.dtype ndarray 对象的元素类型
    ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
    ndarray.flags ndarray 对象的内存信息
    ndarray.real ndarray 元素的实部
    ndarray.imag ndarray 元素的虚部
    ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

    print('ndim:数组的秩(维度)'.center(20, '*'))
    print('ndim:', i.shape[1])

    三、数组索引

    x = np.arange(1, 13) # 一维数组
    a = x.reshape(4, 3) # 二维数组
    print(‘x:', x)
    print(‘a:', a)

    3.1 一维数组的索引

    print(x[2:])
    print(x[3:8])

    3.2 二维数组的索引

    print(a[0])  # 第一行
    print(a[2, 2])  # 第三行第4列
    print(a[:, 2])
    print(a[::2, 0])  # 所有奇数行第1列数据
    print(a[(2, 1), (1, 2)])  # 第3行第2列,第2行第3列   = np.array((a[2,1],a[1,2]))取出来后在重新生成新的数组
    print(a[-2])  # 获取倒数第二行
    print(a[::-1])  # 行倒序
    print(a[::-1, ::-1])  # 行列倒序
    

    四、数组的方法

    4.1 改变数组维度

    reshape将一维数组变成二维或者三维
    ravel将三维数组变成一维数组,flatten将二维数组变成一维数组

    4.2 数组拼接

    使用numpy.hstack(a1,a2) 函数将两个数组水平组合
    numpy.vstack(a1,a2) 函数可以将两个或多个数组垂直组合起来形成一个数组
    使用numpy.concatenate((a1, a2, …), axis),控制axis参数的值也可以实现hstack和vstack的功能,axis=0等同于vstack、axis=1等同于hstack

    4.3 数组分隔

    b = np.split(x, 4)  # 将一个一维数组四等分, 用b[1]的方式获取每个块的数据
    # print(b[1])
    c = np.split(a, 2, axis=0)  # 二维数组的垂直分隔,按行分隔成两部分
    # print(c[0])
    d = np.split(a, [2], axis=1)  # 二维数组的水平分隔,按列分隔成两部分
    # print(d[0])
    

    4.4 算术运算

    加减乘除: add(),subtract(),multiply() 和divide()
    np.sum() 求和
    np.prod() 所有元素相乘
    np.mean() 平均值
    np.std() 标准差
    np.var() 方差
    np.median() 中数
    np.power() 幂运算
    np.sqrt() 开方
    np.min() 最小值
    np.max() 最大值
    np.argmin() 最小值的下标
    np.argmax() 最大值的下标
    np.inf 无穷大
    np.exp(10) 以e 为底的指数
    np.log(10) 对数

    到此这篇关于Python基础之Numpy的基本用法详解的文章就介绍到这了,更多相关Python Numpy用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python 机器学习库 NumPy入门教程
    • Python基础之numpy库的使用
    • Python利用numpy实现三层神经网络的示例代码
    • Python数据清洗工具之Numpy的基本操作
    • python numpy中setdiff1d的用法说明
    • Python Numpy之linspace用法说明
    • python 将numpy维度不同的数组相加相乘操作
    • python numpy.power()数组元素求n次方案例
    • python中numpy.empty()函数实例讲解
    • python中numpy数组与list相互转换实例方法
    • Python OpenCV中的numpy与图像类型转换操作
    • Python机器学习三大件之一numpy
    上一篇:Python爬虫爬取爱奇艺电影片库首页的实例代码
    下一篇:详解Python相关文件常见的后缀名
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python基础之Numpy的基本用法详解 Python,基础,之,Numpy,的,基本,