numpy教程
SciPy(Scientific Python):
功能:插值
matplotlib(绘图库)
在 Win10上安装numpy
在anaconda上安装记录:
输入命令行:
pip3 install numpy scipy matplotlib
验证是否安装成功:
输入命令行,进入运行环境:
python
>>> from numpy import * 导入Numpy库
>>> eye(4) 生成对角矩阵
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
安装成功!
ndarray对象:
内容:
【指针(指向数据);dtype(数据类型);shape(数组形状);stride(跨度元组)】
一些例子:
实例1:创建一维数组
>>> import numpy as np
>>> a=np.array([1,2,3])
>>> print(a)
[1 2 3]
实例2:多于一个维度
>>> b=np.array([[1,2],[3,4]])
>>> print(b)
[[1 2]
[3 4]]
实例3:创建一个数组
>>> c=np.array([1,2,3,4,5])
>>> print(c)
[1 2 3 4 5]
实例4:用ndmin指定生成数组的最小维度
>>> d=np.array([1,2,3,4,5],ndmin=2)
>>> print(d)
[[1 2 3 4 5]]
实例5:用dtype指定数据元素的数据类型
>>> e=np.array([1,2,3],dtype=complex)
>>> print(e)
[1.+0.j 2.+0.j 3.+0.j]
>>>
numpy数组属性
ndarray.ndim用于返回数组的维数,相当于秩
>>> import numpy as np
>>> a=np.arange(24)
>>> print(a.ndim)
1
>>> b=a.reshape(2,4,3)
>>> print(b.ndim)
3
>>>
ndarray.shape用于调整数组大小
>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> print(a,a.shape)
[[1 2 3]
[4 5 6]]
(2, 3)
>>>
调整数组大小
>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> print(a,a.shape)
[[1 2 3]
[4 5 6]] (2, 3)
>>> a.shape=(3,2)
>>> print(a,a.shape)
[[1 2]
[3 4]
[5 6]]
(3, 2)
>>>
reshape也可以用来调整数据的大小
>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=a.reshape(3,2)
>>> print(b)
[[1 2]
[3 4]
[5 6]]
>>>
numpy创建一个空数组
格式:
numpy.empty(shape,dtype=float,order='C')
shape数组形状
dtype数据类型
order行优先和列优先
>>> import numpy as np
>>> x=np.empty([3,2],dtype=int)
>>> print(x)
[[1247569260 1549891169]
[1635148138 1752457584]
[1547322427 1853321028]]
>>>
numpy.zeros创建指定大小的数组,数组元素以0来填充
格式:
numpy.zeros(shape,dtype = float, order=’C’)
shape数组形状
dtype:数据类型
order:行列顺序
实例
>>> import numpy as np
>默认为浮点数
>>> x=np.zeros(5)
>>> print(x)
[0. 0. 0. 0. 0.]
设置类型为整数
>>> y = np.zeros( (5,), dtype = np.int)
>>> print(y)
[0 0 0 0 0]
自定义数据类型
>>> z = np.zeros( (2,2), dtype = [('x','i4'), ('y', 'i4')])
>>> print(z)
[[(0, 0) (0, 0)]
[(0, 0) (0, 0)]]
>>>
- NumPy IO
作用:
读写磁盘上的文本数据或者二进制数据
常见的 IO函数:
load()、 save()读写文件数组数据
savez()将多个数组写入文件
loadtxt()、 savetxt()处理正常的文本文件
numpy.save()函数将数组保存到以.npy为扩展名的文件中,实例:
>>> import numpy as np
>>> a=np.array([1,2,3,4,5])
>保存到outfile.npy文件中
>>> np.save('outfile.npy',a)
>使用load函数来读取数据就可以了
>>>> b=np.load('outfile.npy')
>>> print(b)
[1 2 3 4 5]
numpy.savez()函数将多个数组保存到以npz为扩展名的文件中
>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=np.arange(0,1.0,0.1)
>>> c=np.sin(b)
>>> np.savez("runoob.npz",a,b,sin_array = c)
>>> r=np.load("runoob.npz")
>>> print(r.files) 查看各个数组名
['sin_array', 'arr_0', 'arr_1']
>>> print(r["arr_0"])数组a
[[1 2 3]
[4 5 6]]
>>> print(r["arr_1"])数组b
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
>>> print(r["sin_array"])数组c
[0. 0.09983342 0.19866933 0.29552021 0.38941834 0.47942554
0.56464247 0.64421769 0.71735609 0.78332691]
>>>
savetxt()函数是以简单的文本文件格式存储数据,对应使用loadtxt()函数来获取数据
实例:
>>> import numpy as np
>>> a=np.array([1,2,3,4,5])
>>> np.savetxt('out.txt',a)
>>> b=np.loadtxt('out.txt')
>>> print(b)
[1. 2. 3. 4. 5.]
可以使用delimiter参数指定各种分隔符,针对特定列的转换器函数,需要跳过的行数等等。
>>> import numpy as np
>>> a=np.arange(0,10,0.5).reshape(4,-1)
>>> np.savetxt("out.txt",a,fmt="%d",delimiter=",")
>>> b=np.loadtxt("out.txt",delimiter=",")load时候也需要指定为逗号分隔
>>> print(b)
[[0. 0. 1. 1. 2.]
[2. 3. 3. 4. 4.]
[5. 5. 6. 6. 7.]
[7. 8. 8. 9. 9.]]
- NumPy Matplotlib
Matplotlib是Python的绘图库
查看是否安装了matplotlib模块
方式一:python -m pip list
使用实例:
导入需要的库
>>> import numpy as np
>>> from matplotlib import pyplot as plt
>np.arange创建x轴上的值,
>>> x=np.arange(1,11)
>>> y=2*x+5
>>> plt.title("Matplotllib demo")
Text(0.5, 1.0, 'Matplotllib demo')
>>> plt.xlabel("x axis caption")
Text(0.5, 0, 'x axis caption')
>>> plt.ylabel("y axis caption")
Text(0, 0.5, 'y axis caption')
>>> plt.plot(x,y)
[<matplotlib.lines.Line2D object at 0x000001DA9A06A220>]
>>> plt.show()
Original: https://blog.csdn.net/lcnana/article/details/122125782
Author: cycy_0918
Title: numpy学习记录
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/763449/
转载文章受原作者版权保护。转载请注明原作者出处!