python numpy基础

xiaoxiao2021-02-28  98

基本类型

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)#返回索引 #
转载请注明原文地址: https://www.6miu.com/read-68753.html

最新回复(0)