Python之numpy基本指令
https://blog.csdn.net/mmm305658979/article/details/78745637
# -*- coding: utf-8 -*- 多加练习才是真
import numpy as np
from numpy import newaxis
from numpy import pi
import matplotlib.pyplot as plt
from numpy import ogrid
#生成数组(矩阵)
#a = np.array([[1,2,3],[4,5,6]]) #2*3
#a = np.array([1,2,3]) #3*1
#a = np.ones(16,1); a = np.cumsum(a) #生成16*1矩阵,然后累加得到递增值为1-16的矩阵,作用同下
#a = np.arange(15).reshape(3,5) #生成0开始递增的15个数,然后分成3行5列矩阵
#a = np.arange(24).reshape(2,3,4) #生成2*3*4 3维数组
#np.set_printoptions(threshold='nan') #矩阵元素数量过多会自动省略显示,它可以取消省略显示
#c = np.array([1,2,3])
#c = np.arange(10,100,4) #10,14,18.....98;小数间隔也可
#c = np.linspace(0,2,9) #生成0-2等间隔的9个数
#c = np.ogrid[-100:100:3] #生成-100 - 100等间隔三个数
#c = np.zeros((4,4)) #生成4*4全0矩阵
#c = np.ones((4,4),dtype=float) #生成4*4全1矩阵,浮点型
#c = np.eye(2) #生成单位矩阵[[1,0],[0,1]]
#c = np.empty((2,3)) #随机数,不太懂
#c = np.random.random((2,3)) # √生成随机数矩阵,float
#c = np.random.noral(mu,sigma,1000) #生成位置参数和尺寸参数确定的1000个数据
#矩阵的操作
#print(np.sin(1))
#a = np.ravel(a) # (51,1)的array可以变为(51,)
#np.mat(a) #将a变为矩阵
#b = np.floor(a) #矩阵a中没个元素去掉小数点后的数并保存为float格式
#print(a.ndim) #指的是二维矩阵即m*n的矩阵(数组),亦称为秩(rank)
#np.trace(a) #矩阵的迹,对角线上数之和
#print(a.size) #矩阵所包含元素个数
#print(a.shape) #矩阵所包含元素形状如(3,4)
#print(a.reshape(2,-1)) #变形为2行,列数自动计算,a本身不变
#a.resize(16,1) #a本身变形为16行1列,等于a.shape=16,-1
#print(a.T) #矩阵的转置,1维向量并且没加入newaxis时失效
#np.linalg.inv(a) #矩阵的逆矩阵,a*a-1 = 1
#print(a.data) #实际数组元素的缓冲区
#a = np.array([[1,0],[2,3]])
#b = np.array([[2,4],[1,5]])
#c = a*b #a和b对应位置相乘,与matlab中相反
#c = a.dot(b) #等同于c = np.dot(a,b),倆矩阵相乘
#a*=b,a+=b,a-=b #这种运算a,b必须同为整型或浮点型,而a+b(np.add(a,b))则可以int+float
#np.sum([[0, 1], [0, 5]], axis=1) #横着加
#c = a + b #a(4*1),b(1*4) c(4*4)
#c = np.exp(1) #返回e(2.718)的a次方
#c = a**2 #a的平方
#c = a.sum(axis = 0 or 1) or a.max() or a.min #矩阵(0对应每列之和,1对应每行之和)的和,最大值与最小值
#c = a.argmax(axis=0) #返回矩阵每列最大值对应索引号
#a = np.arange(10)
#a[0:6:2] = 100 #0,2,4位置数变成100
#np.sort(a, axis = '-1', kind = 'quicksort') #排序,axis为对第几行排序
#print(a[::-1]) #逆序排列
#print(np.all([[True, False], [True, True]])) #与,返回False
#print(np.any([[True, False], [True, True]])) #或
#ax,bx,cx = np.ix_(a,b,c) #把a,b,c一维向量变成(x,1,1)(1,x,1)(1,1,x)维度方便他们相乘等
#def f(x,y):
# return x+y
#a = np.fromfunction(f,(3,4)) #生成3*4矩阵,每个位置值由x和y计算后得到
#a[:,1:3] #返回矩阵a所有行,第2和3列
#矩阵的合并拆分
#print(a[-1]) #返回a最后一行,等于a[-1,:]
#b = [row for row in a] #row表示每一行,迭代输出每一行
#b = [element for element in a.flat] #遍历输出矩阵每一个元素,类似b = a.ravel()
#c = np.vstack((a,b)) #竖向合并a,b,等于np.row_stack((a,b))
#c = np.hstack((a,b)) #横向合并a,b,等于np.column_stack((a,b))
#c = np.hsplit(a,4) #矩阵a分成四等分1(列)|2|3|4
#c = np.vsplit(a,4) #矩阵a分成四等分1(行)/2(行)/3/4
#c = np.hsplit(a,(1,3)) #矩阵a的第2行和第三行一起被分出来
#newaxis对比(非1维矩阵(n*1)无需用,1维需用不然转置合并等都会错误)
#a = np.array([1,2,3])
#b = np.array([[4,5,6]])
#print(a,b)
#c = a[:,newaxis]
#d = b[:,newaxis]
#print(c,d)
#e = np.hstack((a,b))
#g = np.hstack((c,d))
#print(e,g)
#r_与c_ 向量连接
#print(np.r_[np.array([1,2,3]), 0, 0, np.array([4,5,6])]) #r_用于连接行向量
#print(np.c_[np.array([[1,2,3]]), 0, 0, np.array([[4,5,6]])]) #c_用于连接纵向量
#深浅拷贝
#b = a #b变化a跟着变化,简单赋值并没有复制数组。 b is a √
#b = a.view() or a[:] #浅拷贝,b和a共享共同的值但是可以有不同的形状。 b is a ×,b.base is a √
#b = a.copy() #深拷贝,b和a互相独立。b is a ×,b.base is a ×
#数据的保存和读取
#np.save("a.npy", a) #括号内首先确定保存的文件名,再确认要保存的数据(单个)
#c = np.load( "a.npy" ) #读取数据
#np.savetxt("a.txt", a) #只能保存一个数组
#np.loadtxt("a.txt")
#np.savez("biubiu.npz",a,b,c)
#r = np.load("biubiu.npz") #读入时变量列表看不到,输入r["arr_0"]返回a,也可以import导入文件
#矩阵元素的查找
#np.searchsorted([1,2,3,4,5], [-10, 10, 2, 3]) #二分查找输出-10等应该插入的位置
#b=np.nonzero(a) #矩阵非0元素位置,二维矩阵a则返回两个向量对应横纵坐标
#b=np.where(a>5) #矩阵中大于5的元素的位置
#a = np.array([1,2,3,4])
#b = np.array([True,False,True,False])
#print(a[b])
#print(a[a>2])
---------------------
作者:黑山白雪m
来源:CSDN
原文:https://blog.csdn.net/mmm305658979/article/details/78745637?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
Python之numpy基本指令的更多相关文章
- python之numpy的安装
这是我第一次写博客,我的第一次打算送给python的numpy库的安装指导,这是我看到一位大神的博客后产生的启发,真是控制不住自己,必须得写一下. 第一次安装numpy浪费了我一个下午,结果还没安装好 ...
- windows下python安装Numpy、Scipy、matplotlib模块(转载)
python下载链接 Numpy下载链接 python中Numpy包的安装及使用 Numpy包的安装 准备工作 Python安装 pip安装 将pip所在的文件夹添加到环境变量path路径中 ...
- [python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决
这篇文章主要讲述Python如何安装Numpy.Scipy.Matlotlib.Scikit-learn等库的过程及遇到的问题解决方法.最近安装这个真是一把泪啊,各种不兼容问题和报错,希望文章对你有所 ...
- python安装numpy和pandas
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...
- python和numpy的版本、安装位置
命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注意:‘-V‘中‘V’为大写字母,只有一个‘-’ 方法二: python --versio ...
- 如何查看安装python和numpy的版本
命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注意:‘-V‘中‘V’为大写字母,只有一个‘-’ 方法二: python --versio ...
- 命令行下查看python和numpy的版本和安装位置
命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注意:‘-V‘中‘V’为大写字母,只有一个‘-’ 方法二: python --versio ...
- 图文并茂的Python教程-numpy.pad
图文并茂的Python教程-numpy.pad np.pad()常用与深度学习中的数据预处理,可以将numpy数组按指定的方法填充成指定的形状. 声明: 需要读者了解一点numpy数组的知识np.pa ...
- [转] python安装numpy和pandas
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...
随机推荐
- Node.js进程通信模块child_process
前言 Node.js是一种单线程的编程模型,对Node.js的赞美和诟病的也都是因为它的单线程模型,所有的任务都在一个线程中完成(I/O等例外).单线程模型,不仅让代码非常简洁,更是直接避免了线程调度 ...
- FusionMap 检测融合基因
定义:融合基因是指两个或者多个基因联合起来,一起转录形成一个转录本: 检测的意义:融合基因可以作为某些疾病的特异分子标记,比如 bcr/abl融合基因存在于95%以上的慢性粒细胞白血病患者中: AML ...
- 简单工厂模式(simple factory pattern)
与一个对象相关的职责通常有3类: 1.对象本身所具有的职责(对象自身所具有的数据和行为) 2.创建对象的职责 3.使用对象的职责: 简单工厂模式的缺点: 1.简单工厂集中了所有产品的创建逻辑,职责过重 ...
- 重载 CreateParams 方法[2]: 重载 TForm.CreateParams 方法的几个例子
这里有所有相关参数的解释: http://www.cnblogs.com/del/archive/2008/04/15/1154359.html //最大化窗口 procedure TForm1.Cr ...
- SQLite学习手册
在实际的应用中,SQLite作为目前最为流行的开源嵌入式关系型数据库,在系统的架构设计中正在扮演着越来越为重要的角色.和很多其它嵌入式NoSQL数据库不同的是,SQLite支持很多关系型数据库的基本特 ...
- linux下 redis 启动
启动文件 startredis.sh : nohup /data/redis/bin/redis-server /data/redis/etc/redis.conf & 关闭文件 stopr ...
- 【Android开发】如何设计开发一款Android App
本文从开发工具选择,UI界面.图片模块.网络模块.数据库产品选择.性能.安全性等几个方面讲述了如果开发一个Android应用.现在整理出来分享给广大的Android程序员. 开发工具的选择 开发工具我 ...
- Extjs学习笔记--(一vs增加extjs智能感知)
1,编写class.js var classList=[ "Ext.layout.container.Absolute", "Ext.layout.container.A ...
- 查看用户信息:w
w命令有两个用途: (1) 用于查看当前系统负载(2) 用于查看当前登录用户的行为和信息,执行这个命令可以得知当前登入系统的用户有哪些人,以及他们正在执行哪些程序 [root@localhost ~] ...
- poj_3436 网络最大流
题目大意 生产电脑的工厂将一台电脑分成P个部件来进行流水线生产组装,有N个生产车间,每个车间可以将一个半成品电脑添加某些部件,使之成为另一个半成品电脑或者成为一台完好的电脑,且每个车间有一个效率,即在 ...