python之numpy函数集合一

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)

未完待续

 

posted @ 2017-12-23 22:02  第七王爵  阅读(1136)  评论(0编辑  收藏  举报