python编程numpy库数组知识点总结及详细讲解笔记

numpy的知识内容主要分为以下8个部分

所有代码均在jupyter中运行
out: 后面的内容均为运行输出的结果

目录:

1.创建数组
2.shape函数返回数组的维度(元组的形式返回)
3.数组切片
4.改变数组维度
5.数组的组合
6.分割数组
7.数组的属性
8.数组的转换

最重要的,先导入numpy包
import numpy as np

1.创建数组

使用numpy创建数组的方法有以下几种

(1)
numpy.arange([start, ]stop, [step, ]dtype=None)

参数详解:

start, stop ----> 数组的起始位置和停止的位置,元组的形式,遵循左闭右开原则,start省略的时候默认为0
step ----> 等差数组的步长, 默认为1
dtype ----> 指定数据类型

只能创建一维数组,可以后期通过其他的方法改变它的维度

# 不指定start
a = np.arange(5)
a
# out: array([0, 1, 2, 3, 4])
--------------
# 指定start
a = np.arange(2, 5)
a
# out: array([2, 3, 4])
--------------
# 指定步长step
a = np.arange(2, 10, 2)  # 带有start参数的指定方式
a
# out: array([2, 4, 6, 8])

a = np.arange(10, step = 2)  # 不带start参数的指定方式
a
# out: array([0, 2, 4, 6, 8])

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

参数详解:

dtype ----> 指定数据类型

可以创建一维或多维数组

# 创建一维数组
a = np.array([1, 2, 3, 4])
a
# out: array([1, 2, 3, 4])
------
# 创建一个二维数组
a = np.array([[1, 2], [3, 4]])
a
'''
out: 
array([[1, 2],
       [3, 4]])
'''
------
# 指定数据类型
a = np.array([1, 2, 3, 4], dtype = 'str')
a
# out: array(['1', '2', '3', '4'], dtype='<U1')
# 可以看到数组中的所有元素均变成字符串类型

(3)
np.zeros()函数,创建一个元素全为0的数组,可以是任意维度

# np.zeros()
np.zeros(10)  # 创建一个全为0的一维数组
# out:array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
np.zeros((3, 6))  # 创建一个全为0的二维数组
'''
out:
array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])
'''
np.zeros((3, 2, 2, 2))  # 创建一个全为0的四维维数组
'''
out:
array([[[[0., 0.],
         [0., 0.]],

        [[0., 0.],
         [0., 0.]]],


       [[[0., 0.],
         [0., 0.]],

        [[0., 0.],
         [0., 0.]]],


       [[[0., 0.],
         [0., 0.]],

        [[0., 0.],
         [0., 0.]]]])
'''

(4)
np.empty()函数,创建一个空的数组

np.empty((2, 2))
'''
out:
array([[1.19255575e-311, 4.92089383e-321],
       [3.33988377e-321, 3.33988377e-321]])
'''

(5)
np.ones()函数,创建一个元素全为1的数组

np.ones((2, 2))
'''
out:
array([[1., 1.],
       [1., 1.]])
'''

2.shape函数返回数组的维度(元组的形式返回)

shape主要是用于查看数组的维度,形状
shape也能改变数组的维度,形状

# 用shape查看数组a的维度和形状
a = np.array([[0,1,2,3,4],[1,3,2,3,4]])
a.shape
# out: (2, 5)
# 可以看到数组a是一个二维数组
------
# 用shape改变数组的维度和形状
a = np.arange(8)  # 先创建一个一维数组a
a
# out: array([0, 1, 2, 3, 4, 5, 6, 7])
a.shape   # 数组的形状
# out: (8,)

# 然后用shape改变a的形状
a.shape = (2, 4)
a  # 再次查看数组a
'''
out: 
array([[0, 1, 2, 3],
       [4, 5, 6, 7]])
'''
a.shape  # 再次查看a的形状
# out: (2, 4)
# 可以发现,数组a发生了一定的变化,但是它本身具有的元素个数和内容不变

3.数组切片

数组切片主要是获取数组的某一部分,遵循左闭右开原则
也发现了给步长设置为-1还有反转数组元素顺序的功能,但是这个功能在arange函数创建数组中却不能用,只能创建一个空的数组
以及“…”省略号在多维数组中的妙用

# 一维数组的切片
a = np.arange(9)
a[3:7]  # 3和7是数组元素的索引值,这里指的是获取数组第4个元素到滴7个元素
		# 该操作返回一个新的数组,不会改变原数组
		# 如果需要改变原数组,可以使用a = a[3:7]的方式
# out: array([3, 4, 5, 6])
------

# 多维数组的切片
b = np.arange(24).reshape(2, 3, 4)  # reshape是用于改变数组的形状和维度用的,后面会讲到
b
'''
out:
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9,10,11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
'''
# 选取其中一个元素
b[0,0,0]
# out: 0
# 选取其中的一部分
b[:,0,0]  # ":"表示选中所有元素,每个元素的第1个元素的第0个元素
		  # 这里所说的元素不仅仅指的是一个数字,也包括一个包含于数组中的列表
'''
out:
array([ 0, 12])
'''

# 以更加复杂的方式进行多维数组的切片
b[:,0,1:3]  # 这里的1:3表示对对应层的列表进行切片
'''
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值