numpy是一个提供了许多高级的数据编程,如:矩阵数据类型、矢量处理,以及精密的运算库。
下面直接举例numpy的各种数据处理
import numpy as np
#处理数组
array = [1,2,3,4,5]
array = np.array(array)
经过numpy转换后,array可以更加方便的操作,例如:array + 1 , array * 2
得到的值是:[2,3,4,5,6] , [2,4,6,8,10]
注意的是:如果array中值类型不一样时,numpy会将所有的类型都转换成一样的,以方便操作。array = [1,2,3,4,5.0] 最后一个是float类型,经过numpy转换后,array = [1.,2.,3.,4.,5.]
#查看数据类型
np.array.dtype
#查看数据维度中的个数
array_shape
#查看数据的长度
array.size
#查看数据是几维
array.ndim
#可以直接使用索引或者切片查看数据
array[1]
array[0:2]
#支持矩阵操作,转换的矩阵只能用一个传参
array_one = np.array([[1,2,3],[2,3,4],[3,4,5]])
#赋值
array_one[1][2] = 20
#取第三行
array_one[2]
#取第三列
array_one[:,2]
#取第一行中0-2位3个数
array_one[0,0:2]
#列第一列中0-2位3个数
array_one[:,0:2]
#复制
array_two = array_one
这时如果修改array_two中数值,array_one中也会变化
想要复制使用array_two = array_one.copy()
这时修改array_two中数值,array_one不会变化
#生成等差数列
array_three = np.arange(0,100,10)
生成0 =< array_three < 100 并且等差10的数列
#还可以用boolean类型做索引
mask = np.array([1,0,0,1,1,0],dtype=bool)
array_three[mask] 只显示True的数值
#数组之间还可以直接进行计算
my_one = numpy.array([[1,3,5,7],
[11,33,55,77]])
my_two = numpy.array([[2,4,6,8],
[22,44,66,88]])
my_three = numpy.array([[0,0,0,0],
[0,0,0,0]])
for i in range(len(my_one)):
for j in range(len(my_two[i])):
my_three[i][j] = my_one[i][j] * my_two[i][j]
#产生10个0-1的随机数
random_array = np.random.rand(10)
#将>0.5的复制给一个参数
mask = random_array > 0.5
#查看mask在random_array中的位置
np.where(mask)
未完待续