numpy

import numpy as np
为提高运算效率,ndarray数组值的类型默认相同,创建时自动指定默认数据类型(内存占用最大的值类型)
默认浮点类型(float)

numpy方法解释
np.dtype指定当前numpy对象的整体数据,
np.itemsize对象中每个元素的大小, 单位字节
np.itemsize对象中每个元素的大小, 单位字节
np.size对象元素的个数, 相当于np.shape中的n*m值
np.shape轴, 查看数组形状, 对于矩阵, n行m列
np.ndim
np.isnan(list)筛选出nan值
np.iscomplex(list)筛选出非复数
~取补运算符
np.array(数组, dtype=np.bool) 自定义数组类型
np.astype(np.bool)转换数组类型
np.mat()将python 列表转化成矩阵
np.mat().getA()将matrix对象转成ndarray对象
np.matrix()同上
np.asmatrix()将ndarray对象转成matrix对象
np.tile()重复某个数组。比如tile(A,n),功能是将数组A重复n次,构成一个新的数组传送门
np.T矩阵转置, 行变列, 列变行, 对角线翻转矩阵,相当于np.transpose()
np.tolist()转换成python列表, 用于和python原生结合写程序
np.multiply(x, y)矩阵x 矩阵y相乘
np.unique()数组驱虫, 并且从小到大生成一个新的数组
np.arange同python range(),生成的对象为ndarray类型的
np.arange(24).reshape((2, 3, 4))创建一个2维3行4列的数组, 必须能被给定的长度除开, 可以索引和切片
np.arange(24).resize((2, 3, 4))同上, 会修改原值
np.linspace(x, y, z)等间距生成, x起始数值, y终止数值, z为产生的数据点数;也就是在区间x,y中产生z个点
np.ones(shape, dtype=None, order=‘C’)生成数值为1且shape形状的的数组, shape可以是元组,表示创建几行几列数据;也可是单个数字,表示创建大小为n的一维数组
np.zeros(shape, dtype=None, order=‘C’)生成数值为0且shape形状的的数组, shape可以是元组,表示创建几行几列数据;也可以是单个数字,表示创建大小为n的一维数组
np.full([x, y], z)自定义模板数组, 生成x行y列都是z的数组
np.eye(N, M=None, k=0, dtype=float, order=‘C’)生成大小为N的对角方阵,对角线的值都是1,其余都是0;M可以调整输出列数
np.flatten()数组降维, 不改变 原值
np.random.rand(x, y, z)生成一个一维x随机数或生成x*y的随机数组
np.random.randn(x, y)正态分布随机数
np.random.randint(low, high, (shape))整数随机数
np.random.normal(loc, scale, (size))从指定正态分布中抽取样本, loc为概率分布的均匀值, 标准差scale
np.random.seed(s)给一个随机数字固定
np.randomunifrom(low, high, (size))均匀分布的数组, 有小数
np.random.shuffle(a)将数组a的第0轴(最外维度)进行随机排列(洗牌), 改变数组a, 行边列不变
np.random.permutation(a)同上, 不改变数组a
np.random.choice(a, size=None, replace=False, p=数组a/np.sum(b))从一维数组a中以概率p抽取元素,形成size形状新数组,replace表示是否可以重用元素,默认为False,p为抽取概率,本位置越高,抽取概率越高
np.sum(axis=None)求和, axis=0为列, 1为行
np.argsort()矩阵每个元素坐标排序
np.sort(a, kind=‘quicksort’,axis=None)从小打大排序,默认quicksort;axis=None是将多维放在一维中排序;axis=-1多维数组按行排序;axis=0按列排序;
-np.sort(-a, axis=None)从大到小排序
np.sort_values(‘字段’, ascending=False)排序,升序排列
np.mean(axis=None)求平均数,axis=0同列取平均值,axis=1同行取平均值
np.average(axis=None,weights=None)加权平均,weights加权值,不设为等权重,例子[10, 5, 1],每列分别X10,X5,X1在/(10+5+1)
np.var(axis=None)方差:各数与平均数之差的平方的平均数
np.std(axis=None)标准差:方差平方根
np.min(axis=None)最小值
np.argmin(axis=None)求数组中最小值的坐标
np.median(axis=None)中位数
np.ptp(axis=None)元素最大值与最小值的差
np.cumsum()累加,cumsum和cumprod之类的方法不聚合,产生一个中间结果组成的数组,默认一维数组,1为按原样
np.cumprod()累乘
np.count_nonzero(arr > 0)计数非0值个数,布尔值会被强制转换为1和0,可以使用sum()对布尔型数组中的True值计数
np.bools.any()测试数组中是否存在一个或多个True
np.bools.all()数组中所有值是否都是True, 测试有没有空值
np.insert(arr, obj, values, axis=None)插入数值,np.insert(a, [1], [[1],[2],[3]], axis=1)在第一列插入一个列表;axis=None插入到一维数组中;axis=1插入到列;axis=0插入到行
np.dot(a, b, out=None)求乘积运算,a,b可以为同数字,同数组,同np.array对象,一般使用X_.T.dot(X_)
np.linalg.inv(a)求矩阵的逆,ainv = inv(np.matrix(a)),因为矩阵不能直接相除,所以有时需要转化为矩阵的逆来做乘法运算,矩阵的逆就是用来解决矩阵除法问题的
np.select(condlist, choicelist, default=0)condlist定义筛选规则,choicelist做筛选时需要做的操作
np.column_stack((a,b))将a作为b的一列合并到b,a为一维列表,b为1到多维列表,必须满足a的列表大小等于b的行数,
np.concatenate((a, b), axis=0)合并数组,axis=0按行合并,axis=1按列合并;np.concatenate((a, b.T), axis=1)
np.asarray(a, dtype)将a数据转化为固定的类型;array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会
np.where(condition, x=None, y=None)满足条件(condition),输出x,不满足输出y
np.ravel(order=‘C’)将多维数组降维成一维数组,返回原始多维数组的引用,注意如果改变降维后一维数组的值,则原始数组的值也会改变;order为降维时采用的策略,可选值{‘C’, ‘F’, ‘A’, ‘K’},默认行序优先
np.flatten(order=‘C’)将多维数组降维成一维数组,返回原始多维数组的拷贝,改变降维后的一维数组的值,则原始数组的值不会改变;order为降维时采用的策略,可选值{‘C’, ‘F’, ‘A’, ‘K’},默认行序优先
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)返回从起始值到终止值总数量为num的列表,endpoint为True表示包含终止值
np.meshgrid(*xi, **kwargs)meshgrid的作用是根据传入的两个一维数组参数生成两个数组元素的列表。如果第一个参数是xarray,维度是xdimesion,第二个参数是yarray,维度是ydimesion。那么生成的第一个二维数组是以xarray为行,ydimesion行的向量;而第二个二维数组是以yarray的转置为列,xdimesion列的向量。
np.array(p_object, dtype=None, copy=True, order=‘K’, subok=False, ndmin=0)转化列表数据类型为ndarray
np.c_[xx.ravel(), yy.ravel()]将两个数组中相同列的数据拼接起来,当做行;类似于pandas中的merge
np.r_[xx.ravel(), yy.ravel()]将两个数组中所有行数据转化为一行数据;类似于pandas中的contact
data.reshape(-1, m)表示事先不知道数据总数有多少个,numpy会自动计算数据的总数n,变化成为n列m行的数据
np.vstack([a,b])将a,b两个numpy对象按行堆叠到一块,列不变
np.hstack(arr1, arr2)将两个数组进行堆叠,可以是一维或者多维(tuple/list),相当于分别合并
np.dtype类型
np.bool布尔值
np.int整型
np.float浮点型
np.complex复数
np.object对象
np.string_ASCII字符
np.unicode_Unicode所有字符, 字节数平台决定
# np读取csv文件
numpy提供了便捷的内部文件存取,将数据存为np专用的npy(二进制格式)或npz(压缩打包格式)格式
npy格式以二进制存储数据的,在二进制文件第一行以文本形式保存了数据的元信息(维度,数据类型),可以用二进制工具查看查看内容
npz文件以压缩打包文件存储,可以用压缩软件解压
# 读取csv文件
np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
# 去掉b'0.00'中的b
np.loadtxt('a.csv', dtype=bytes, delimiter=',').astype(str)
c = np.load('x.npy')                    # .npy文件读入数组
d = np.load("y.npz")                    # .npz压缩包读入
 
# 存储csv文件,本身是ASCII字符,不能存储非ASCII字符串,csv文件只能存储一维、二维数据,不能存储多维数据
np.savetxt(frame,array,fmt='%.18e',delimiter=None)
np.save('a.npy',a)                      # 存为.npy文件
np.savez("a.npz", ar0 = a, ar1 = b)     # 多个数组存入一个.npz压缩包
参数解释
参数解释
frame文件、字符串或产生器,可以是.gz或者bz2压缩文件
dtype数据类型,可选,CSV的字符串以什么数据类型读入数组中,默认np.float
delimiter分隔字符串,默认是任何空格,改为逗号
skiprows跳过前x行,一般跳过第一行表头
usecols读取指定的列,索引,元组类型
unpack如果True,读入属性将分别写入不同的数组变量,False读入数据只写入一个数组变量,默认False

原文:https://blog.csdn.net/u012089823/article/details/81672120

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值