一、向量数据
①概念
向量数据是指存储一系列同类数据的有序数据结构。
②分类
python中的列表和元组可以用来存储向量数据。
分为 一维列表,二维列表,三(多)维列表。
③向量数据结构的理解
二、产生原因
大量的向量数据计算时,使用python的列表速度比较慢,于是C语言写的python库NumPy就诞生了,一方面是速度快了,另一面有更多的方法可以使用。
列表-->计算(比较慢)
列表-->向量数据(numpy)-->计算(比较快)
1、数组的创建
array()#传入 列表,元组
ones()#(行,列)
empty()#(行,列)
zeros()#(行,列)
arange()#(开头,结尾,步长)
import numpy as np
#======根据多段数据=======
a1 = np.array([1,2,3])#传入列表
print(a1)
a2 = np.array((1,2,3)) # 传入元组
print(a2)
#======根据维度数据=======
a3 = np.ones((2,3)) # 传入维度元组(第一维2、第二维3),默认数据是1
print(a3)
a4 = np.empty((3, 3)) # 传入维度元组(第一维3、第二维3),默认数据是随机数
print(a4)
a5 = np.zeros((3, 4)) # 传入维度元组(第一维3、第二维3),默认数据是0
print(a5)
#======根据范围数据=======
a6 = np.arange(1,5,1) # 传入开头,结尾,步长。生成一维向量数据。
print(a6)
2、数组对象属性
import numpy as np
a = np.ones((3,2))
print(a.ndim)#数组维度 的个数
print(a.shape)#数组 的形状
print(a.size)#数组元素 的总个数
print(a.dtype)#数组元素 的数据类型
3、dtype
array()
ones()
empty()
zeros()
arange()
import numpy as np
a = np.ones((3,2),dtype=np.int32)
print(a)
print(a.dtype)
类型大全:
NumPy 数据类型 | 菜鸟教程
4、改变形状
个数需要一致
import numpy as np
a = np.arange(1,7,1)
print(a)
b = a.reshape((3,2))
print(b)
5、向量的算数运算
数组四则运算,要求数组形状相同。
数组和一个数运算,相当于数组的每一位与这个数运算。
import numpy as np
a = np.arange(1,9,1).reshape((2,4))
print(a)
print('==================')
b = np.arange(1, 9, 1).reshape((2, 4))
print(b)
print('==================')
print(a+b)
print('==================')
print(a+1)
6、 向量的添加元素
一维拼接
import numpy as np
a = np.ones((4,))
print(a)
b = np.zeros((4,))
print(b)
c = np.concatenate((a,b))
print(c)
二维拼接
import numpy as np
a = np.arange(1,9,1).reshape((2,4))
print(a)
print('==================')
b = np.arange(1, 9, 1).reshape((2, 4))
print(b)
print('==================')
c = np.concatenate((a, b))# axis = 0
print(c)
print('==================')
d = np.concatenate((a, b),axis=1)
print(d)
7、向量的其他操作
数组.sum()#不传参数时,求所有元素的和, 传axis参数可指定维度,axis=1求每一排,axis=0求每一列。
数组.min()#不传参数时,求所有元素的最小值,传axis参数可指定维度。
数组.max()#不传参数时,求所有元素的最大值,传axis参数可指定维度。
import numpy as np
a = np.arange(1,9,1).reshape((2,4))
print(a)
print('=======a.sum()===========')
print(a.sum())
print('=======a.sum(axis=1)===========')
print(a.sum(axis=1))
print('=======a.min()===========')
print(a.min())
print('=======a.min(axis=1)===========')
print(a.min(axis=1))