numpy库学习

numpy库学习

一、数组切片

1、函数,针对数组中的每个元素:

​ 一元函数:

2、二元函数

3、将条件逻辑表述为数组运算

1
2
3
4
5
6
7
8
9
10
11
np.where(condition,xarr,yarr)

#实例
xarr=np.array([1.1,1.2,1.3,1.4,1.5])
yarr=np.array([2.1,2.2,2.3,2.4,2.5])
cond=np.array([True,False,True,True,False])
rs=np.where(cond,xarr,yarr)
rs

#result
array([1.1, 2.2, 1.3, 1.4, 2.5])

在数据分析中,常利用where函数根据一个数组生成另一个数组,如随机生成一个数组,然后将正值改为2,负值替换为-2。

1
2
3
4
5
6
7
8
9
10
#将正值替换为2,负值替换为-2
nrr=randn(4,4)
rarr=np.where(nrr>0,2,-2)
rarr

#结果
array([[ 2, 2, 2, -2],
[ 2, 2, 2, 2],
[ 2, 2, -2, 2],
[ 2, 2, -2, 2]])

4、基本数组统计方法

5、数组的集合运算

6、数组文件的输入输出

​ 1、将数组以二进制形式保存:

1
2
3
4
5
6
7
8
9
10
11
#将数组存入文件中,格式是.npy
narray=np.arange(10)
np.save("some_data",narray)

#取出文件
np.load("some_data.npy")

#将多个数组存储到同一个文件中
np.savez('narray',a=arr1,b=arr2)

#结果是返回一个字典类型的数组对象

​ 2、存取文本文件

1
2
3
4
5
#loadtext,需要一个文件路径和数组的分隔符
array=np.loadtxt('array_ex.txt',delimiter=',')

#savetext,
np.savetxt('test.txt',array,delimiter=';')

二、线性代数

​ 1、矩阵乘法:

1
2
#x,y是一个array
x.dot(y) || np.dot(x,y)

​ 2、numpy.linalg库常用函数总结

​ 3、随机数生成

坚持原创技术分享,您的支持将鼓励我继续创作!