python Numpy库之ndarray创建和基本属性

Numpy

Numpy
Numpy是python里面一个用于科学计算的库,它是大量数学和科学计算包的基础,例如pandas就会用到numpy。为了更好的学习python科学计算及数据分析,掌握numpy是非常必要的。

Numpy功能

  • Numpy主要的功能之一用来操作数组和矩阵
  • Numpy是科学计算、深度学习等高端领域的必备工具
  • Numpy包含很多的数学函数,覆盖了很多数学领域,如:线性代数、傅里叶变换、随机数生成
  • Numpy可以取代一些商用的数学软件。Matlab一个交互环境,Python+Numpy==Matlab

Numpy基础

Ndarray

  • 它是一个由同类元素组成的多维数组
  • 每个ndarray只有一种dtype类型
    Ndarray创建
  • np.array创建
>>>import numpy as np      #导入numpy
>>>a = [1,2,3,4,5,6]            #创建一维数组
>>>b = np.array(a)
>>>print(b)
>[1,2,3,4,5,6]
>>>c = [[1,2,3],[4,5,6]]         #创建多维数组
>>>d = np.array(c)
>>>print(d)
>[[1,2,3]
    [4,5,6]]
  • np.zeros
    指定大小的全0数组。注意:第一个参数是元组,用来指定大小,如(3, 4)
>>>b = np.zeros((3,4),dtype=np.int32)
>>>print(b)
>[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
  • np.zeros_like
    生成与矩阵c相同尺寸大小的元素为的0多维数组
>>>c = np.arange(1,8,2,dtype=np.int32).reshape((2,2))
>>>d = np.zeros_like(c)
>>>print(d)
>[[0 0]
 [0 0]]
  • np.ones
    指定大小的全1数组。注意:第一个参数是元组,用来指定大小,如(3, 4)
>>>b = np.ones((3,4),dtype=np.int64)
>>>print(b)
>[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]
  • np.ones_like
    生成与矩阵c相同尺寸大小的元素为1多维数组
>>>c = np.arange(1,8,2,dtype=np.int32).reshape((2,2))
>>>d = np.ones_like(c)
>>>print(d)
>[[1 1]
 [1 1]]
  • np.empty
    初始化数组,不是总是返回全0,有时返回的是未初始的随机值(内存里的随机值)
>>>b = np.empty((3,4))
>>>print(b)
>[[5.e-324 5.e-324 5.e-324 5.e-324]
 [5.e-324 5.e-324 5.e-324 5.e-324]
 [5.e-324 5.e-324 5.e-324 5.e-324]]
  • np.arange
    arange相当于array和range的结合,前三个参数和range一样,(start,end,步长)
    创建一个一维 ndarray 数组,常常与reshape连用,reshape() 将 重新调整数组的维数。
>>>c = np.arange(2,10,2,dtype=np.int32)
>>>print(c)
>[2 4 6 8]
>>>d = np.arange(1,8,2,dtype=np.int32).reshape((2,2))
>>>print(d)
>[[1 3]
 [5 7]]
  • np.linspace
    linspace函数通过指定开始值、终值和元素个数来创建一维数组,也通常与reshape连用,改变数组形状
>>>b = np.linspace(1,20,10)
>>>print(b)
>[ 1.          3.11111111  5.22222222  7.33333333  9.44444444 11.55555556
 13.66666667 15.77777778 17.88888889 20.        ]
  • np.logspace
    logspace函数和linspace类似,不过它创建等比数列
>>>b = np.logspace(1,20,10)
>>>print(b)
>[1.00000000e+01 1.29154967e+03 1.66810054e+05 2.15443469e+07
 2.78255940e+09 3.59381366e+11 4.64158883e+13 5.99484250e+15
 7.74263683e+17 1.00000000e+20]
  • np.asarray
    把python中的list和元组转换成numpy中的ndarray
>>>c = [1,2,3,4,5,6]
>>>b = np.asarray(c)
>>>print(b)
>>>print(type(b))
>[1 2 3 4 5 6]
<class 'numpy.ndarray'>

Ndarray的基本属性

  • ndim 查看数组的维度
  • shape 查看数组的形状大小
  • size 查看数组的元素个数
  • dtype 查看数组的元素类型
  • type 查看数组的类型,返回ndarray
  • itemsize 查看数组元素的字节大小
  • data 查看实际数组元素的缓冲区地址
  • flat 查看数组元素的迭代器
>>>import numpy as np
>>>a = np.array([[1,2,3],[4,5,6]])        #创建数组
>>>print(a.ndim)                                #查看数组维度
>2
>>>print(a.shape)                              #查看数组形状大小
>(2,3)
>>>print(a.size)                                 #查看数组元素个数
>6
>>>print(a.dtype)                              #查看数组元素类型
>int32
>>>print(type(a))                               #查看数组类型
><class 'numpy.ndarray'>
>>>print(a.itemsize)                          #查看数组元素字节大小
>4
>>>print(a.data)                                #查看实际数组元素的缓冲区地址
><memory at 0x000001AEED4D8120>
>>>print(a.flat)                                   #查看数组元素的迭代器
><numpy.flatiter object at 0x000001AEEC4F72F0>

Ndarray的数据类型

  • bool 布尔类型
  • int: int8 \ int16 \ int32 \ int64 整数类型
  • uint: uint8 \ uint16 \ uint32 \ uint64 无符号整数类型
  • float: float16 \ float32 \ float64 浮点数类型
  • cpmplex: complex64 \ complex128 复数类型

Ndarray存取元素

  • 使用整数序列:可以是列表,可以是元组
  • 整数序列中的元素可以是下标,可以是布尔值
  • 使用整数序列作为下标获得数组不和原始数组共享数据空间
  • 布尔存取只能是数组
>>>x = np.arange(1,10,1)
>>>a = x[[2,4,6]]
>>>print(a)
>[3 5 7]
>>>b = x[x>5]
>>>print(b)
>[6 7 8 9]

还会继续更新numpy的更多操作哟!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值