一样,咱的计算机还是得先拥有Python,并且安装了Numpy库。有疑问的话可以看这里呦~~~~

下面开讲:

  NumPy的主要对象是齐次多维数组。它是一个元素表(通常是数字),并且都是相同类型,由正整数的元组索引。

  其他暂且略过,咱主要说一些可以听懂的并且有实际效用的。

  首先,我们得创建有一个ndarry对象,简单地介绍其中三种方法吧:

      • a=np.array([1,2,3])

         

      • data=[[1,2,3],[4,5,6]]
        a=np.array(data)

      • a=np.arange(15).reshape(3,5)

         

在这里我们就用第三个作为例子接着往下讲哈(我就不用再创建了哈哈)

  ndarray对象的重要的属性如下:

    • ndarray.ndim:

      输出ndarray的维度(轴数,也有人叫它等级,在Python世界中,维度的数量被称为等级),这里的轴也叫坐标轴。

      

        这两种写法都是可以的,亲试如图,下面的其他函数也是一样的。

      例如,array([1,2,1])是一个等级为1的数组,因为它具有一个坐标轴,该轴的长度为3。

      在上面的示例中,该数组的排名为2(它是2维的)。第一维(轴)的长度为3,第二维的长度为5。

    • ndarray.shape:

      输出数组的尺寸,即(n,m)。

      

    • ndarray.size:

      数组元素的总数,即 n * m。

      

    • ndarray.dtype:

      数组中元素的数据类型,可进行转换。(这个一般默认float64 和 int32,你们可以自己多试试)

      

    • ndarray.itemsize:

      数组中每个元素的字节大小。(例子中则为 int 32/8 = 4,相当于ndarray.dtype.itemsize

      

    • ndarray.data:

      该缓冲区包含数组的实际元素。(这个我们一般不用,我们都是用索引的QAQ)

      

  还有好多,我就不一一截图了,懒。。。。。。

  • np.zeros(10)    #长度为10的0数组
  • np.zeros((3,6))    #创建3行6列的0数组(注意有两个括号)
  • np.ones(5)
  • np.ones((3,4))
  • np.arange(10)
  • np.eye(3)    # 3*3单位矩阵
  • np.identity(3)    # 3*3单位矩阵
  • np.zeros_like(a)    #创建与a相同行、列的全0矩阵
  • np.ones_like(a)    #创建与a相同行、列的全1矩阵

索引和切片类

  • a1=a[0:1]    ##这个切片的大有学问了,写的话大概得另起一篇了,有空再说
  • a[0:1]=1    ##a变化后,a1的值也随之变化
  • a1[0:1]=2    #a1变化后,a的值也随之变化
  • a1=a[0:1].copy()    #完全拷贝,值变化不影响a (和上面对比一下你就清楚了)

计算类

  • a*a    #每个元素平方(这个强!!!挺好用的。)
  • a*5    #每个元素乘以5
  • a.mean()    #数据均值
  • a.sum()    #数组和
  • a.sum(axis=0)    #按列求和
  • a.sum(axis=1)    #按行求和
  • a.sort()    #对a进行排序(这个也是好东西啊~~~)
  • a.sort(1)    #0按行排序,1按列排序
  • np.sort(a,0)    #a按行排序(本身不发生变化!!!!!!)
  • x.dot(y)    ##矩阵x与y相乘
  • np.in1d(a,[2,3,6])    #value中的每一个值是否在[2,3,6]中(如果是,该值返回true,否则返回false.)
  • np.in1d([2,3,6],a)
  • np.in1d(x,y)
  • np.intersect1d(x,y)    #返回x和y中的交集,并返回有序结构
  • np.union1d(x,y)    #计算x,y的并集,并返回有序结构
  • np.setdiff1d(x,y)    #集合的差,即在x中且不在y中
  • samples=np.random.normal(size=(4,4))    #产生4维正态分布矩阵
  • from numpy.linalg import *    #计算与矩阵相关,行列式,矩阵的逆等
  • np.linalg.det(samples)    #矩阵行列式
  • np.linalg.inv(samples)    #矩阵求逆
  • np.diag(samples)    #返回矩阵对角线元素
  • np.linalg.eig(samples)    #返回矩阵特征值和特征向量
  • import timeit    #导入计算时间的模块
  • np.save('some_a',a)    #保存文件
  • np.load("some_a.py")    #读取磁盘保存数据
  • a=np.loadtxt("code_public.txt",delimiter=',')    #读取文本数据
  • arr=np.loadtxt("d:\code\arr.txt",delimiter=',')    #读取d盘数据

行吧,时间也差不多了,我都写累了,相信你也看累了吧,是时候去 stzb 看看先。

Numpy库(个人学习笔记)的更多相关文章

  1. numpy库的学习笔记

    一.ndarray 1.numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”. 2.ndarray是一个多维数组的对象,ndarray数组一般要求所有元素类型相 ...

  2. Numpy库的学习(三)

    今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...

  3. [Python ]小波变化库——Pywalvets 学习笔记

    [Python ]小波变化库——Pywalvets 学习笔记 2017年03月20日 14:04:35 SNII_629 阅读数:24776 标签: python库pywavelets小波变换 更多 ...

  4. Numpy库的学习(五)

    今天继续学习一下Numpy库,废话不多说,整起走 先说下Numpy中,经常会犯错的地方,就是数据的复制 这个问题不仅仅是在numpy中有,其他地方也同样会出现 import numpy as np a ...

  5. Numpy库的学习(四)

    我们今天继续学习一下Numpy库 接着前面几次讲的,Numpy中还有一些标准运算 a = np.arange(3) print(a) print(np.exp(a)) print(np.sqrt(a) ...

  6. Numpy库的学习(二)

    今天来继续学习一下Numpy库的使用 接着昨天的内容继续 在Numpy中,我们如果想要进行一个判断使用“==” 我们来看下面的代码 vector = np.array([5,10,15,20,25]) ...

  7. Numpy库的学习(一)

    今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...

  8. 科学计算和可视化(numpy及matplotlib学习笔记)

    网上学习资料:https://2d.hep.com.cn/1865445/9 numpy库内容: 函数 描述 np.array([x,y,z],dtype=int) 从Python列表和元组创造数组 ...

  9. Numpy 和 Matplotlib库的学习笔记

    Numpy介绍 一个用python实现的科学计算,包括:1.一个强大的N维数组对象Array:2.比较成熟的(广播)函数库:3.用于整合C/C++和Fortran代码的工具包:4.实用的线性代数.傅里 ...

  10. 《C标准库》学习笔记整理

    简介 <C标准库>书中对 C 标准库中的 15 个头文件的内容进行了详细的介绍,包括各头文件设计的背景知识.头文件中的内容.头文件中定义的函数和变量的使用.实现.测试等. 我学习此书的目的 ...

随机推荐

  1. Git版本回退和撤销修改的区别

    在阅读廖雪峰git教程时,对版本回退和暂存区撤销修改没太看懂,所以自己测试了一下. 版本回退: git reset --hard HEAD 这个命令用于版本回退,就是将已提交的版本覆盖本地工作区的内容 ...

  2. nyoj886 取石子(八) 威佐夫博弈

    好累,坐了一天火车, 终于到学校了. 思路:仔细观察威佐夫博弈,发现P态的所有数字都是不重复的,例如(0,0).(1,2).(3,5).(4,7).(6, 10).(8,13).(9,15).(11, ...

  3. java基础之继承(二)

    上篇我们介绍了java中的构造方法,了解了关键字this和super在继承中所起到的作用,this可以显式调用重载的构造方法,super可以显式的调用父类中的任意可见方法.了解方法重载和重写的区别,知 ...

  4. 转载微信公众号 测试那点事:Jmeter乱码解决

    原文地址: http://mp.weixin.qq.com/s/4Li5z_-rT0HPPQx9Iyi5UQ  中文乱码一直都是比较让人棘手的问题,我们在使用Jmeter的过程中,也会遇到中文乱码问题 ...

  5. linux远程控制

    linux远程控制 SSH协议:为客户机提供安全的shell环境,默认端口22OpenSSH服务服务名称:sshd主程序:/usr/sbin/sshd ,/usr/bin/ssh配置文件:/etc/s ...

  6. plx9030触发pci中断

    if(((SWAB_16(PLX_INT(0x4C)))&0x04)==0x04) { ErrNo = *(UINT16*)(g_MemBase+0XFFFE*2); /*logMsg(&qu ...

  7. 航空客户价值分析特色LRFMC模型——RFM升级

    本文转载自微信公众号TIpDM. 每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 我们说RFM ...

  8. freemarker自定义标签报错(一)

    freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Token manager error: freemarker.core.TokenMgr ...

  9. 芝麻HTTP:redis-py的安装

    对于Redis来说,我们要使用redis-py库来与其交互,这里就来介绍一下它的安装方法. 1. 相关链接 GitHub:https://github.com/andymccurdy/redis-py ...

  10. C#读取Excel表格中数据并返回datatable

    在软件开发的过程中,经常用到从excel表格中读取数据作为数据源,以下整理了一个有效的读取excel表格的方法. DataTable GetDataTable(string tableName,str ...