NumPy
@author: 段浩 Created on Thu Nov 10 10:21:20 2022
- Numpy的介绍
在数据分析和科学计算的领域,Numpy占据十分重要的地位。Numpy使得python具备了操作多维数组的功能,并且效率较高。
- 数组的创建
# 1 直接获取
直接获取可以用Numpy里面的arange和linspace函数实现
具体操作如下:
# 2 间接获取
可以通过Python里面的list、tuple等来获取数组
具体操作如下:
# 3 通过array本身创建
具体操作如下:
运行结果为:
另外还可以有以下操作:
运行结果为:
# 4 Numpy内置函数创建特殊的数组
具体操作如下:
输出结果分别为:
- 数组的属性
常用的属性有shape和dtype。
# 1关于dtype具体操作如下:
属性dytpe在数组被创建的时候赋予的(没有指定类型的时候,通过系统默认指定数据类型),Numpy提供了丰富的数据类型用于适应可能遇到的各种需求。可以通过np.sctypeDict查看所以类型,具体操作如下:
运行结果为:(展示部分)
由此可见,Numpy提供的数据类型非常多!除此之外,Numpy还可以给数据指定数据类型,具体操作如下:
# 2 自定义数据类型
具体操作如下:
这样,不仅指定了数据类型,而且为索引提供了便利,如下:
# 3 shape的介绍
关于shape,它用于描述数组的形状。一般来说,返回的每个轴上的数据个数。如果数据集为二维数组集,那么它可以将它的两个维度分别看作是数据集的行和列,如下:
我们把变量中的内容更直观的表示出来:
我们还可以通过reshape改变数组的形状:
改变后的数组形状是:
# 4 数组的复制
错误的复制方法:
这样复制只是两个变量指向同一个内存,不是真正的复制。就等于只是给一个位置又取了个新名字,正确的复制方法是:
用了.copy才能完成真正的复制,复制完成后修改array_one的值,不会影响到array_new的值,而前面直接用等号复制的情况则会互相影响。
- 数组的操作
# 1 一维数组的切片和索引操作。
切片和索引的方法和python里面list的方法一样。唯一有不同的是:
上图中new_array的内容是从my_array中取出来的,以array的形式返回。
如果取的内容是my_array中不存在的就会报错,如下:
# 2 多维数组的操作
my_array数组:
变量内容:
由此我们可以发现,多维切片按照[行, 列]来操作,冒号:的作用就和一维数组的切片一样。
# 3 数组的加减乘除
变量的内容:
# 4 数组的内置函数
Numpy还有很多强大的功能,可阅读相关文档进行拓展学习。