np.zeros(10,dtype=int) #创建全为0的一位数组

np.ones((3,5),dtype=float) #创建3*5的二维全为1的数组

np.full((3,5),3.14) #创建全为3.14的3*5数组

np.arange(0,20,2)  #创建0-20步长为2的线性序列数组 和range相似

np.linspace(0,1,5)  #创建0-1之间的5个数数组

np.random.random((3,3)) #创建3*3在0-1之间均匀分布的随机数组成的数组

np.random.normal(0,1,(3,3)) #创建3*3的均值为0方差为1的正态分布随机数数组

np.random.randint(0,10,(3,3)) #创建3*3在0-10区间的随机整数型数组

np.eye(3) # 创建3*3的单位矩阵

np.empty(3) #创建一个有3个整数型组成的未初始化数组,值可以使内存空间的任意值

np属性:

  np.ndim 数组的维度

  np.shape 数组的每个维度大小

  np.size  数组的总大小

  dtype 数据类型

切片,索引:

  x=np.array([5,2,3,7,8,9])

  x[0] #取索引为0的值

  x[-1] #取最后一个值

  x2=np.arange(0,24).reshape((3,8))

  x2[0,1] #取行索引为0列索引为1的值

  x2[0,0]=12 #修改值

  #当将一个浮点型插入到整数型数组中时,浮点型会被截断

  

  一维切片:

  x=np.arange(10)

  x[:5]  #取前五个元素

  x[5:] #取后五个元素

  x[4:7] # 取中间子数组

  x[::2]  #步长为2取出数组

  x[::-1] #逆向取数组

  

  多维切片:

  x2=np.arange(12).reshape((3,4))

  x2[:2,:3] #两行三列

  x2[:3,::2] #取三行,列隔行取

  x2[::-1,::-1] # 逆向取

  x2[:,0] #取第一列

  x2[0,:] # 取第一行

  x2[0]  #取第一行简化

*注意切片获取到的元素改变原数组也会改变,需加copy

  

  reshape重组数组

  np.arange(12).reshape((3,4)) #重组成3*4的二维数组

  x2[np.newaxis,:]  #获取行向量

  x2[:,np.newaxis] #获取列向量

  

  数组拼接:

  一维数组:   

  x=np.array([1,2,3])
  y=np.array([3,2,1])
  z=np.array([4,5,6])

  np.concatenate([x,y,z])

  

  二维数组:

  x=np.arange(12).reshape((3,4))

  y=np.arange(12,24).reshape((3,4))

  np.concatenate([x,y],axis=1) # axis=1左右拼接,axis=0上下拼接

  np.vstack 垂直栈函数,上下拼接,np.hstack 水平栈左右拼接

  np.dstack 沿第三个维度拼接

  

数组分裂:

  x=[1,2,3,55,55,3,2,1]

  x1,x2,x3 = np.split(x,[3,5])

  vsplit 行分裂,hspit列分裂,dsplit第三维度分裂

  

  

numpy(一)的更多相关文章

  1. 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片

    概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...

  2. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  3. 利用Python进行数据分析(6) NumPy基础: 矢量计算

    矢量化指的是用数组表达式代替循环来操作数组里的每个元素. NumPy提供的通用函数(既ufunc函数)是一种对ndarray中的数据进行元素级别运算的函数. 例如,square函数计算各元素的平方,r ...

  4. python安装numpy、scipy和matplotlib等whl包的方法

    最近装了python和PyCharm开发环境,但是在安装numpy和matplotlib等包时出现了问题,现总结一下在windows平台下的安装方法. 由于现在找不到了工具包新版本的exe文件,所以采 ...

  5. 深入理解numpy

    一.为啥需要numpy python虽然说注重优雅简洁,但它终究是需要考虑效率的.别说运行速度不是瓶颈,在科学计算中运行速度就是瓶颈. python的列表,跟java一样,其实只是一维列表.一维列表相 ...

  6. Python Numpy,Pandas基础笔记

    Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarr ...

  7. broadcasting Theano vs. Numpy

    broadcasting Theano vs. Numpy broadcast mechanism allows a scalar may be added to a matrix, a vector ...

  8. python之numpy

    一.矩阵的拼接合并 列拼接:np.column_stack() >>> import numpy as np >>> a = np.arange(9).reshap ...

  9. win7系统下python安装numpy,matplotlib,scipy和scikit-learn

    1.安装numpy,matplotlib,scipy和scikit-learn win7系统下直接采用pip或者下载源文件进行安装numpy,matplotlib,scipy时会遇到各种问题,这是因为 ...

  10. 给numpy矩阵添加一列

    问题的定义: 首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵 import numpy as np a = np.array([[1,2,3], ...

随机推荐

  1. Java_修饰符

    目录 访问控制修饰符 非访问修饰符 在java中修饰符主要分为两类:++访问修饰符++和++非访问修饰符++ 访问控制修饰符 修饰符 当前类 同一包内 子孙类 其他包 其他包子孙类 public Y ...

  2. 《剑指offer》整数中1出现的次数

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  3. 《剑指offer》连续子数组的最大和

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  4. Accumulation Degree

    #include<cstdio> #include<cstring> #define INF 0x7fffffff using namespace std; ; inline ...

  5. hdu 5183

    hdu 5183(Hash处理区间问题) 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5183 题意:给出一个n个元素的数组,现在要求判断 a1-a2 ...

  6. Ubuntu下 安装MiniGUI

    1. 需要下载的组件 首先需要这些安装包,这些安装包可以在MiniGUI官网上下载. libminigui-gpl-3_0_12.tar.gzmg-samples-3_0_12.tar.gzfreet ...

  7. CodeSmith Generator 7.0.2的激活流程

    学过三层的人应该认识CodeSmith Generator吧,今天我就跟大家一起探讨下CodeSmith Generator 7.0.2的激活,这最新版本破解的难度也是超越以往......具体看这篇日 ...

  8. html 转 PDF wkhtmltopdf image 不能显示的问题

    把src的路径修改为本地路径 就可以,如 <img src="file:///C:\a.jpg">

  9. 网络安全第一集之【SQL注入:sqlmap入门】

    1,安装sqlmap和python环境 2,对于环境变量超长问题 3,使用sqlmap: sqlmap.py -u "http://k2.hlxy.net/csdw/news1.asp?dp ...

  10. 一次国际化记录以及平铺JSON数据

    ​ 写这个方法的原因是因为我们需要改版国际化,因为相同的项目有其他分支做过国际化,但是主版本没有进行过国际化,目前需要修改主版本的国际化,但是因为国际化的方式做了结构上的调整所以写了这个工具方法方便去 ...