python/numpy学习笔记1
‘’’
首先安装就不用多说了,直接cmd
pip install numpy -i http xxxxxxxxxxxx
(肯定使用国内各种镜像安装了,不然慢死了)
写笔记的软件使用的是 jupyter(相当于一个封装的python shell),可以边写代码,边运行,还可以作为笔记存储。
‘’’
numpy笔记1:
import numpy as np
#是一个基于矩阵的运算,使用c写的,所以效率很高
array = np.array([[1,2,3],
[2,3,4]])
#初始化,列表转化为矩阵
print(array) #这里是输出表示,矩阵
运行结果:
[[1 2 3]
[2 3 4]]
#一些常用属性
print('numbers of dim:',array.ndim) #矩阵维度
print('shape:',array.shape) #行和列的数目
print('size:',array.size) #包含的所有元素个数
运行结果:
numbers of dim: 2
shape: (2, 3)
size: 6
#定义矩阵中元素的类型
a = np.array([1,2,3],dtype=np.int64)
print(a.dtype)
运行结果:
int64
#生成0矩阵
b = np.zeros((3,4))
#这里参数行和列需要用括号括起来,默认是flout,可以通过dtype进行更改
print(b)
运行结果:
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
#生成1矩阵
c = np.ones((3,4),dtype=int)
print(c)
运行结果:
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
#生成有序矩阵
c = np.arange(10,20,2) #参数是开始结束和步长,这是没有定义shape的情况
c2 = np.arange(12).reshape((3,4)) #同样的行和列作为整体参数传入,小括号别忘了
print(c)
print('\n')
print(c2)
运行结果:
[10 12 14 16 18]
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
#生成线段
a1=np.linspace(1,10,5) #生成线段,参数是初始结束,和线段个数,他自己判断步长
a2=np.linspace(1,10,6).reshape((2,3)) #这里注意reshape的元素数要和原来的元素个数相互匹配,否则会报错
print(a1)
print(a2)
运行结果:
[ 1. 3.25 5.5 7.75 10. ]
[[ 1. 2.8 4.6]
[ 6.4 8.2 10. ]]
#numpy的基础运算
a0=np.array([10,20,30,40])
b0=np.arange(4)
#这里加减法符合常规加减乘除法
c=a0-b0
d=a0*b0
print(a0)
print(b0)
print(c)
print(d)
运行结果:
[10 20 30 40]
[0 1 2 3]
[10 19 28 37]
[ 0 20 60 120]
#numpy中的函数调用
x=np.array([10,20,30,40])
y=10*np.sin(x) #每个元素求sin值并且乘10
print(y)
print(type(x))
print(type(y))
运行结果:
[-5.44021111 9.12945251 -9.88031624 7.4511316 ]
<class ‘numpy.ndarray’>
<class ‘numpy.ndarray’>
#矩阵比较
m=np.arange(4)
print(m)
print(m<3)
print(m==3)
运行结果:
[0 1 2 3]
[ True True True False]
[False False False True]
#笔记为作者自己写的,搬运到优快云便于储存,可能有的地方白话比较严重不严谨,主要是为了自己更好的理解,所以。。。嗯