概述
基本类型
import numpy
#向量
vector=numpy.array([5,10,15,20])
vector==10
#矩阵
matrix=numpy.array([[5,10,15],[20,25,30],[35,40,45]])
matrix==25
类型转化
astype函数
dtype函数
vector1=numpy.array(["1","2","3"])
print(vector1.dtype)
print (vector1)
#字符转为float
vecotor1=vector1.astype(float)
print (vecotor1.dtype)
print (vecotor1)
矩阵求和
matrix=numpy.array([[5,10,15],
[20,25,30],
[35,40,45]])
print(matrix.sum(axis=1))#按行求和
print(matrix.sum(axis=0))#按列求和
数组与矩阵
arange函数
reshape函数
import numpy as np
print(np.arange(15))
a=np.arange(15).reshape(3,5)
#shape 函数返回矩阵的大小
a.shape#(3,5)
#ndim 函数返回矩阵的维度
a.ndim#2
a.size#多少个元素
a.dtype.name#类型
特殊矩阵
np.zeros((3,4))#构造全0矩阵
np.ones((2,3,4),dtype=np.int32)#全1矩阵,int 默认float
np.arange(10,30,5)#10,15,20,25(初始值,结束值,间隔)
np.random.random(2,3)#随机生成矩阵,用于初始化
from numpy import pi
np.linspace(0,2*pi,100)#(初始值,间隔,个数)
矩阵运算
#矩阵相乘
A=np.array([[1,1],[0,1]])
B=np.array([[2,0],[3,4]])
print(A*B)
print(A.dot(B))
print(np.dot(A,B))
#矩阵求逆
#需要先转化为矩阵
A=mat(A)
A.I
矩阵变形
import numpy as np
a=np.floor(10*np.random.random((3,4)))
a.ravel()#矩阵变成向量
a.reshape(6,2)#向量改变维度,array用reshape
a.T#转置
矩阵拼接与切分
a=np.floor(10*np.random.random((2,2)))
b=np.floor(10*np.random.random((2,2)))
np.vstack((a,b))#向下拼接
np.hstack((a,b))#向右拼接
#
#切分
a=np.floor(10*np.random.random((2,12)))
np.vsplit(a,2)
np.hsplit(a,3)#行方向平均切分
np.hsplit(a,(3,4))#指定3和4列后面切分
#
矩阵复制
a=np.arrange(12)
b=a
b is a#只是名字不同,换了一个名字
b.shape=(3,4)
a.shape
#
#赋值操作,相同改变
c=a.view()
c is a
c.shape=2,6
c[0,4]=1234
a.shape
a
#
#复制操作,不同改变
d=a.copy()
d is a
d[0,0]=999
a
#
#只用copy才是真正意义上的复制
tile整体复制
#tile复制
a=np.arange(0,40,10)
b=np.tile(a,(4,3))#整体四行三列复制
#
排序
argsort
sort
sorted
#排序,默认为从小到大
a=np.array([[4,3,5],[1,2,1]])
b=np.sort(a,axis=1)
a.sort(axis=1)
a=np.array([4,3,1,2])
j=np.argsort(a)#返回索引
#
最后
以上就是雪白大叔为你收集整理的python numpy基础的全部内容,希望文章能够帮你解决python numpy基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复