numpy

numpy官网

1 numpy函数

np.array([[x, x],[x, x]]) # 创建矩阵
np.mat([[x, x],[x, x]]) #创建矩阵,此矩阵可以用'.I'求逆
np.hstack([a1, a2]) # 横向合并两个矩阵
np.vstack([a1, a2]) # 纵向合并两个矩阵
np.stack((a1, a2), axis=0) # axis=0是纵向合并,axis=1是横向合并,并且合并后维数增加一维
np.arange(1, 10, 2) # 创建有规律的矩阵,第3个参数为步长
np.linespace(1, 10, 5) # 创建等差数列,第三个参数为元素个数
np.logspace(1, 10, 5) # 创建等比数列,第三个参数为原属个数
np.ones(3, 4) # 全1矩阵
np.zeros((3, 4)) # 全0矩阵
np.eye(3) # 单位矩阵
np.emptp((3, 4)) # 空矩阵
np.sin(a) # 
np.cos(a) # 
np.arcsin(a) # 
np.exp(a) # 
np.sqrt(a) # 
a1.dot(a2) # 点乘
a.T # 转置
a.max() # 矩阵的最大值
a.max(axis=0) # 矩阵的最大值,axis=0表示列方向上
a.max(axis=1) # 矩阵的最大值,axis=0表示行方向上
a.min() # 矩阵的最小值
a.mean() # 矩阵的平局值
a.var() # 矩阵的方差
a.std() # 矩阵的标准差
np.median(a, axis=0) # 矩阵的中位值
a.sum() # 矩阵求和
a.cumsum() # 矩阵累计和
np.linalg.svd(a) # SVD分解
np.linalg.det(a) # 求a的行列式
x, y = np.mgrid[-3:3:.01, -3:3:.01] # 相当于生成坐标索引,.01为步长
np.r_[A1, A2] # 按行连接两个矩阵
np.c_[A1, A2] # 按列连接两个矩阵
a.shape #矩阵的形状
a = np.vstack(a).reshape(-1,num) # 重新定义形状
np.squeeze(a) # 从数组的形状中删除单维度条目
x, y = np.split(data, (4,), axis=1)  #axis=1,代表列,是要把data数据集中的所有数据按第四、五列之间分割为X集和Y集。
np.mgrid[1:3:2j,4:6:3j] # 根据范围扩展生成两个矩阵,矩阵的形状是2x3,第一个矩阵由[1:~:3].T向右扩展,第二个矩阵由[4:~:6]向下扩展

2 np.loadtxt() 从指定文件读取数据

numpy.loadtxt(fname, dtype=float', comments='#', delimiter=',', converters={4:function}, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes', max_rows=None)
# fname是文件路径
# dtype是数据类型
# delimiter是数据间的间隔符
# converters是批量替换,这里的意思是通过函数function将数据的第5列批量替换,函数举例如下:
# def function(s):
#    it ={b'xxx':0, b'yyy':1, b'zzz':2}
#    return it[s]

3 数组重组(flatten、flat、ravel、reshape、resize)

a.flatten()将数组变成一维默认参数为“C”,按照行进行重组,“F”为列
a.flat
a.ravel()、 np.ravel(a)将数组变成一维默认参数为“C”,按照行进行重组,“F”为列
a.reshape(2,3)、np.reshape(a,(2,3))改变数组形状在变换过程中,数组的元素个数不变,形状改变,形状-1表示一维
a.resize(2,3)、np.resize(a,(2,3))改变数组大小在变换过程中,数组的元素个数有形状决定,增加的元素值重复于原来的值

4 产生随机数

np.random.rand()产生给定形状的数组,其中的值在[0,1]中均匀分布np.random.rand(3,2)、np.random.rand()
np.random.uniform()产生给定形状的数组,其中的值在给定区间均匀分布np.random.uniform(1,10,(3,2))、np.random.uniform(1,10)
np.random.randn()产生给定形状的数组,其中的值服从正态分布(均值为0,方差为1)np.random.randn(3,2)、np.random.randn()
np.random.normal()产生给定形状的数组,其中的值服从正态分布,均值、方差自己指定np.random.normal(0,1,(3,2))、np.random.normal(0,1)
np.random.randint()产生给定形状的数组,其中的值在指定区间内离散均匀抽样,值默认为int型,其中dtype参数可以指定为int64np.random.randint(1,10,(3,2))、np.random.randint(1,10)
np.random.random()产生给定形状的数组,其中的值在[0,1]中均匀抽样np.random.random(3,2)、np.random.random()

5 列表、数组和矩阵之间的转换

在这里插入图片描述

6 python读写excel

1) 读excel表

import xlrd
data = xlrd.open_workbook('xls文件路径')
table = data.sheets()[0] #通过索引顺序获取sheets
或 table = data.sheet_by_index(0) #通过索引顺序获取sheets
或 table = data.sheet_by_name(u'名称') #通过名称获取sheets
table.row_values(i) #获取整行
table.col_values(i) #获取整列
table.nrows #获取行数
table.ncols #获取列数
table.cell(0,0).value #获取某单元格

2) 写excel表

import xlwt
workbook = xlwt.Workbook(encoding ='ascii') #创建workbook(其实就是excel,后来保存一下就行)
worksheet = workbook.add_sheet('MyWorksheet') #创建表

worksheet.write(0, 0, label = 'Row 0,Column 0 Value') #往单元格内写入内容
workbook.save('Excel_Workbook.xls') #保存

例:
def save(data, path):
	f = xlwt.Workbook()  # 创建工作簿
	sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True)  # 创建sheet
	[h, l] = data.shape  # h为行数,l为列数
	for i in range(h):
		for j in range(l):
           		sheet1.write(i, j, data[i, j])
	f.save(path)

7 python将list、numpy写入txt

numpy:
np.savetxt("文件路径", data)
listfile = open('文件路径', 'w')
file = write(str(list_data))
file.close()

8 异常判断语句

try:
语句1
except Exception:
语句2
(意思是尝试执行语句1,如果发生了异常,比如语句中有变量未定义,就执行语句2

9 求绝对值

np.fabs(xxx)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值