Python之numpy笔记

本文详细介绍了Python的Numpy库,重点讲解了Ndarray对象的创建、数组基础、Numpy的数组操作以及常用函数。包括如何通过列表、元组和内置函数创建数组,数组的属性如shape、ndim和size,以及切片和索引的使用。还探讨了高级索引、广播机制、数组的变形与连接、数据分割以及算术和统计函数。此外,还讨论了Numpy在线性代数中的dot和matmul函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Numpy Ndarray对象:

一、创建数组的方式

  1. 根据列表创建数组
a=np.array([1,2,3,4,5])
print(a)

输出:

这就不再是一个列表了,而是一个数组,可以看。

可以向参数[1,2,3,4,5]传指令,如:

a=np.array([1,2,3,4,5],dtype=int)
print(a)
b=np.array([1,2,3],dtype=float)
print(b)

输出:

数组内的元素的数据类型分别被要求是整型和浮点型,默认是浮点型。

a=[(1,2),(1,2,3)]
b=np.array(a)
print(b)

  1. 根据元组创建数组
a=np.array((1,2,3,4,5),dtype=int)
print(a)

  1. 根据内置函数创建数组
    (1)numpy.empty()
    empty圆括号里可以输入整数或者整数的列表
a=np.empty([3])
print(a)

a=np.empty([2,3])
print(a)


关于数组里形状后面解释。

(2)numpy.ones()

a=np.ones([2],dtype=int)
print(a)

a=np.ones(2,dtype=int)
print(a)

a=np.ones([2,3],dtype=int)
print(a)


(3)numpy.zeros()

a=np.zeros(3,dtype=int)
print(a)

a=np.zeros([3,4],dtype=int)
print(a)


(4)numpy.eye()
eye圆括号里只能输入整数,不能输入列表,这点和上面三个内置函数就不一样。

a=np.eye(2)
print(a)

a=np.eye([2,3])
print(a)

  1. numpy.arange()
    将括号里的合理东西转化成数组
b=np.arange(10)
print(b)


区分它和range(),range(n)就是个range(0,n)可以将它转化成列表,再将列表转化成数组:

a=range(10)
b=list(a)
print(a)
print(b)
c=np.array(a)
print(c)


numpy.arange()与numpy.array()都将xxx转换成数组,但arange效率更高,numpy.arange(start, stop, step, dtype):

a=np.arange(1,10,2)
print(a)

  1. 数组变形
    例,将range(20)弄成225的数组,错误写法:

    因为arange()括号得传一个数, 而a是一个range(0,20).
    可以先将a转成数组,再重塑:
a=range(20)
b=np.array(a)
print(b.reshape(2,2,5))

二、数组基础

  1. 数组属性
ndarray.shape   数组的维度,对于矩阵,n 行 m 列
ndarray.ndim   秩,轴的数量或维度的数量
ndarray.size   数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype   ndarray 对象的元素类型
ndarray.itemsize   ndarray 对象中每个元素的大小,以字节为单位

举例分析:

例1
a=np.array([[[1,2,3],[1,2,3]]])
print(a)
print(a.shape)
print(a.ndim)
print(a.size)
print(a.dtype)


(1)ndarray.shape输出的(1,2,3),1表示最外面的一个中括号里有1个元素——1个中括号,2表示第二外面的中括号里有2个元素——2个中括号,3表示最里面的中括号里有3个元素——3个数。
(2)ndarray.ndim输出的是数组的维度,有几层中括号,就有几维,这里有3层,最内层的两个中括号是并列的关系。
(3)ndarray.size为6是123

例2
a=np.array([[1,2,3],[1,2,3]])
print(a)
print(a.shape)
print(a.ndim)
print(a.size)
print(a.dtype)


(1)a.shape输出的是(2,3),2表示最外面一层中括号有2个元素——2个中括号,3表示第2外层(最里层)中括号里有3个元素——3个数。
(2)a.ndim输出是2,有2层中括号就有2维。
(3)a.size=6=2*3

例3
a=np.array(10)

b=np.array([10])

print(a)
print(type(a))
print(a.shape)
print(a.ndim)
print(a.size)

print(b)
print(b.shape)
print(b.ndim)
print(b.size)


(1)np.array(10)输出是10,但仍然是数组。注意它的ndim是0,也就是说一个数转换成数组后维度是0.
(2)b的参数是个列表[10],看,有个中括号,它的维度是1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值