NumPy入门

NumPy是Python中的科学计算基础库,主要包含Ndarray对象、数据类型、数组运算、高级索引等功能。Ndarray是多维数组,支持同类型元素,有特定的dtype描述数据类型。NumPy提供丰富的数据类型对象,如int32、float64等,并支持矢量化运算、广播和高级索引。此外,还涉及线性代数模块,如numpy.dot()进行矩阵乘法,以及随机数模块用于生成各种概率分布的随机数。
摘要由CSDN通过智能技术生成

一.什么是numpy

一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算.

二.NumPy Ndarray 对象

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

ndarray 对象是用于存放同类型元素的多维数组。

ndarray 中的每个元素在内存中都有相同存储大小的区域。

ndarray 内部由以下内容组成:

  • 一个指向数据(内存或内存映射文件中的一块数据)的指针。

  • 数据类型或 dtype,描述在数组中的固定大小值的格子。

  • 一个表示数组形状(shape)的元组,表示各维度大小的元组。

  • 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

相关参数

名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度

一维数组

import numpy as np 
a = np.array([1,2,3])  
a

[1 2 3]

二维数组

import numpy as np 
a = np.array([[1,  2],  [3,  4]])  
a


[[1  2] 
 [3  4]]

多维数组

import numpy as np 
arrnp.array([[1,2,3,4,5],[4,5,6,7,8],[7,8,9,10,11]])
print('n',arr)

[[ 1 2 3 4 5]

[ 4 5 6 7 8]

[ 7 8 9 10 11]]

zeros函数

import numpy as np 
np.zeros((3, 4))

array([[0., 0., 0., 0.],
            [0., 0., 0., 0.],
              [0., 0., 0., 0.]])

#元素值都是0的数组

ones函数

import numpy as np 
np.ones((3, 4))

array([[1., 1., 1., 1.],
            [1., 1., 1., 1.],
             [1., 1., 1., 1.]])

#元素值全是1的数组

empty函数

import numpy as np 
np.empty((5, 2))
array([[6.23042070e-307, 1.69118108e-306],
       [1.86920600e-306, 8.01097889e-307],
       [1.78020169e-306, 7.56601165e-307],
       [1.02359984e-306, 1.33510679e-306],
       [2.22522597e-306, 1.78019761e-306]])

#元素值全是随机数的数组

arange函数

import numpy as np 
np.arange(1, 20, 5)
array([ 1,  6, 11, 16])

#等差数组

NumPy 数据类型

numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。下表列举了常用 NumPy 基本类型。

名称 描述
bool_ 布尔型数据类型(True 或者 False)
int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64)
intc 与 C 的 int 类型一样,一般是 int32 或 int 64
intp 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64)
int8 字节(-128 to 127)
int16 整数(-32768 to 32767)
int32 整数(-2147483648 to 2147483647)
int64 整数(-9223372036854775808 to 9223372036854775807)
uint8 无符号整数(0 to 255)
uint16 无符号整数(0 to 65535)
uint32 无符号整数(0 to 4294967295)
uint64 无符号整数(0 to 18446744073709551615)
float_ float64 类型的简写
float16 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位
float32 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位
float64 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
complex_ complex128 类型的简写,即 128 位复数
complex64 复数,表示双 32 位浮点数(实数部分和虚数部分)
complex128 复数,表示双 64 位浮点数(实数部分和虚数部分)

numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值