Numpy学习
1.1 认识Numpy数组对象
Numpy是一个用python实现的科学计算的扩展程序库,包括:
- 一个强大的N维数据对象Array
- 比较成熟的函数库
- 用于整合C/C++和Fortran代码工具包
- 使用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
import numpy as np #导入numpy工具包
data = np.arange(12).reshape(3,4)
data
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
type(data)
numpy.ndarray
data.ndim #数组维度个数,输出结果为2,表示二维数组
2
data.shape #数组的维度,输出结果(3,4)表示3行4列
(3, 4)
data.size #数组元素的个数,输出结果12,表示总共有12个元素
12
data.dtype #数组元素的类型,输出结果dtype('int32'),表示元素类型是int32
dtype(‘int32’)
1.2 创建Numpy数组
data1 = np.array([1,2,3]) #创建一个一维数组
data1
array([1, 2, 3])
data2 = np.array([[1,2,3],[4,5,6]]) #创建一个二维数组
data2
array([[1, 2, 3],
[4, 5, 6]])
np.zeros((3,4)) #创建一个全0数组
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
np.ones((3,4)) #船舰一个全1数组
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
np.empty((5,2)) #创建全空数组,其实每个值都是接近于0的数
array([[6.23042070e-307, 1.89146896e-307],
[1.37961302e-306, 7.56593017e-307],
[1.33511290e-306, 1.78018403e-306],
[1.95821439e-306, 8.01097889e-307],
[8.45596650e-307, 1.24610723e-306]])
np.arange(1,20,5) #1-20的数,间隔5
array([ 1, 6, 11, 16])
np.array([1,2,3,4],float) #创建一维数组,类型为float
array([1., 2., 3., 4.])
np.ones((2,3),dtype='float64') #创建一个二维数组,类型为float64
array([[1., 1., 1.],
[1., 1., 1.]])
1.3 ndarry对象的数据类型
1.3.1 查看数据类型
data_one = np.array([[1,2,3],[4,5,6]])
data_one.dtype.name
‘int32’
1.3.2 转换数据类型
data = np.array([[1,2,3],[4,5,6]])
data.dtype
dtype(‘int32’)
float_data = data.astype(np.float64) #类型转换为float64
float_data.dtype
dtype(‘float64’)
float_data = np.array([1.2,2.3,3.5])
float_data
array([1.2, 2.3, 3.5])
int_data = float_data.astype(np.int64) #数据类型转换为int64
int_data
array([1, 2, 3], dtype=int64)
str_data = np.array(['1','2','3&#