python——numpy包的一些功能笔记
来源:互联网 发布:jquery ajax json解析 编辑:程序博客网 时间:2024/06/04 20:15
numpy
基本功能
#data皆为数组data.shape data.dtypenp.array(data1) #list转arraydata.ndim #维数np.zeros(10)np.zeros((3,6))np.empty((2,3,2)) #返回未初始化的垃圾值np.arange(15)np.array([1,2,3],dtype=np.float64)data.astype(np.float64)
索引功能
data[5:8] #索引data[5:8].copy() #因为改变值会反应到原数组data[0][2]data[0,2] #这两个等价data[0]=42 #所有的检索为0的都变成42data[:,:1]data = randn(7,4) #numpy.random中的randn函数,生成标准正态分布的随机数据data == "bob" #返回所有布尔值数组data1[data == "bob"] #索引true的值,布尔型数组的长度必须跟被索引的轴长度一致data1[data == "bob", 2:]data1[data != "bob"] data1[-(data == "bob")] #这两个等价data[data<0] = 0data1[data != "joe"] = 7data=np.arange(32).reshape((8,4))data[[1,5,7,2],[0,3,1,2]] #索引出4个数data[[1,5,7,2]][:,[0,3,1,2]] #后一个框为 按顺序列出所有data[np.ix_([1,5,7,2],[0,3,1,2])] #用`np.ix_`是选取方形区域的索引器
数组转置和轴对换
data.T #转置np.dot(data.T,data) #矩阵内积data.transpose((1,0,2)) #原来shape索引是[0][1][2],现在是[1][0][2]data.swapaxes(1,2) #1和2索引对换
通用函数:快速的元素级数组函数
np.aqrt(data)np.exp(data)np.maximum(data1,data2)data=randn(7)*5 ; np.modf(data) #返回两个数组,分别为小数和整数部分
将条件逻辑表述为数组运算
#xarr,yarr都是数组,cond是布尔值result=[(x if c else y) for x,y,z in zip(xarr,yarr,cond)] #当cond为true时,选取xarr的值,否则从yarr中选取 ,输出为listnp.where(cond,xarr,yarr) #返回数组np.where(arr<0,2,-2)np.where(arr<0,2,arr)
数学和统计方法
data.mean()data.sum()data.mean(axis=1) #求每行的均值data.sum(0) #求纵轴的和data.cumsum(0) #行累计求和data.cumprod(1) #列类似相乘(data>0).sum() #正值的数量bools.any() #布尔数组是否存在一个或多个truebools.all() #布尔数组是否都是truedata.sort() #排序data.sort(1) #行内排序data[int(0.05*len(data))] #5%分位数
唯一化以及其他的集合逻辑
np.unique(data) #返回唯一值的数组 并且返回已排序的结果np.in1d(data,[2,3,6]) #返回len(data)个布尔值数组,data是否有2,3,6
数组的文件输入输出
np.save("some_array.npy",data)np.load("some_array.npy")np.savez("array_archive.npz",a=data1,b=data2) #用于保存多个数组np.load("array_archive.npz"); arch["b"]#存取文本文件!cat array_ex.txt #查看txtarr=np.loadtxt("array_ex.txt",delimiter=",") #导入时用逗号分隔
线性代数
x.dot(y)np.dot(x,y) #上两行相同qr.(data) #计算qr分解inv(data) #计算矩阵的逆
随机数的生成
np.random.normal(size=(4,4))%timeit #之后加脚本可以算运行时间data.argmax() #返回最大值的索引
阅读全文
0 0
- python——numpy包的一些功能笔记
- python——pandas包的一些功能笔记
- python学习—Numpy包
- Python笔记1——以numpy包为主
- python numpy包的数组与矩阵一些差异
- python的numpy包使用
- python:numpy的一些命令
- Python数据分析包——NumPy(Numerical Python)
- python语法笔记——NumPy入门
- python的numpy包中矩阵总结
- 整理一些Python—matplotlib和numpy会常用到的网站
- Python笔记——Python基础、numpy基础、SciPy、Matplotlib
- python Day11:Numpy里的一些基础
- Python中的numpy包
- Python中的包numpy
- Python--Numpy包
- 【Python笔记】如何编译不依赖lapack和atlas库的NumPy包
- 【Python笔记】如何源码编译依赖LAPACK和ATLAS库的NumPy包
- 学习笔记(C++中基础数据类型在内存的表现形式)
- 关于OKHTTP3的一些资料集合整理
- JAVA中String类
- oracle数据库对象的详解
- ubuntu c/c++中调用matlab函数
- python——numpy包的一些功能笔记
- hpu暑期训练:E
- ant的安装和环境配置
- this关键字
- 【bzoj3280】小R的烦恼
- Realm数据库的简单使用
- acm Array
- qt creator 切换到界面语言(切换到英语)
- Java 并发专题 :闭锁 CountDownLatch