在数据分析和机器学习中,大量的使用科学计算,Numpy提供了大型矩阵计算的方式,而这些是python标准库中所缺少的。Numpy也是许多优秀的第三方库的基础,依赖于Numpy的库非常多,后续会慢慢的进行介绍。

Numpy的安装

和许多的库一样,不管在windows平台下还是在linux平台下,安装Numpy的命令如下:

pip install numpy

安装完以后:

Collecting numpy
Downloading numpy-1.14.0-cp27-none-win32.whl (9.8MB)
100% |████████████████████████████████| 9.8MB 27kB/s
Installing collected packages: numpy
Successfully installed numpy-1.14.0

python解析器 下查看 Numpy 是否安装成功:

import numpy

Numpy生成数组函数(Array creation )

直接使用array 函数生成数组:

>>> import numpy as np
>>> a = np.array([2,3,4])
>>> print a
[2 3 4]
>>> b = np.array([(1,3,4),(2,3,5)])
>>> print b
[[1 3 4]
[2 3 5]]
>>>

array 函数中使用python自带的list ,在多维数组中在list 中存放多个元祖。

使用 emptyzerosonesidentityeye 创建矩阵:

>>> import numpy as np
#使用empty创建2x2矩阵
>>> a = np.empty([2,2])
>>> print a
[[1.92432613e-295 1.92410215e-295]
[1.92414694e-295 1.92414694e-295]]

identity 为返回一个N维单位方阵。

同样的还有empty_likeones_likezeros_like 是复制对方的维数,进行相应的处理。

使用 arangelinspace 生成数组:

在0到2中按步长为0.3生成数组:

>>> np.arange( 0, 2, 0.3 )
array([0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])

在0到2中生成9个数:

>>> np.linspace( 0, 2, 9 )
array([0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. ])

Numpy中数组的基本属性

在Numpy中生成的数组叫做ndarray , 在ndarray 中有如下的属性:

  • ndarray.ndim: 数组维数

    程序如下:

      >>> a = np.zeros([3,4])
    >>> a.ndim
    2
    >>> b = np.zeros([3,4,5])
    >>> b.ndim
    3
    >>>
  • ndarray.shape:数组的结构 几乘几 数组

      >>> print a.shape
    (3, 4)
    >>> print b.shape
    (3, 4, 5)
    >>>
  • ndarray.size: 数组有几个元素

      >>> print a.size
    12
    >>> print b.size
    60
    >>>

Numpy中数组的保存

使用tofilefromfile

import numpy as np

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

print a

a.tofile("filename.bin")

b = np.fromfile("filename.bin",dtype = np.int32)

print b.reshape(2,4)

还可以使用 np.save() np.load() np.savez() 这一组合进行数据的存储。

import numpy as np

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

print a

np.save("a.npy", a)
c = np.load("a.npy")
print c

另外一组为 savetxt()loadtxt()

import numpy as np

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

print a
np.savetxt("a.txt", a)
np.loadtxt("a.txt")
c = np.load("a.npy")
print c

更多教程:阿猫学编程

Numpy入门(一):Numpy的安装和创建的更多相关文章

  1. 03慕课网《vue.js2.5入门》——Vue-cli的安装,创建webpack模板项目

    安装Vue-cli 第一种 貌似不可以,然后用了第二种,但是重装系统后,第二种不能用了,用了第一种可以 # 全局安装vue -cli命令npm install --global vue-cli # 创 ...

  2. Numpy入门 - 生成数组

    今天是Numpy入门系列教程第一讲,首先是安装Numpy: $ pip install numpy numpy是高性能科学计算和数据分析的基础包,本节主要介绍生成连续二维数组.随机二维数组和自定义二维 ...

  3. pandas入门(一):pandas的安装和创建

    pandas 对于数据分析的人员来说都是必须熟悉的第三方库,pandas 在科学计算上有很大的优势,特别是对于数据分析人员来说,相当的重要.python中有了Numpy ,但是Numpy 还是比较数学 ...

  4. NumPy入门及基础

    1.1 NumPy 数组对象 NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:  实际的数据;  描述这些数据的元数据. 大部分的数组操作仅仅修改元数据部分,而不改变底层的实际 ...

  5. Numpy库的下载及安装(吐血总结)

    Python很火,我也下了个来耍耍一阵子.可是渐渐地,我已经不满足于它的基本库了,我把目光转到了Numpy~~~~~ 然而想法总是比现实容易,因为我之前下的是Python3.3.x,所有没有自带pip ...

  6. 第一周——数据分析之表示 —— Numpy入门

    数据的维度 从一个数据到一组数据 一个数据:表达一个含义 一组数据:表达一个或者多个含义 维度:一组数据的组织形式 一维数据 由对等关系的有序或者无序数据构成,采用线性方式组织,对应列表.数组和集合等 ...

  7. Python中的Numpy入门教程

    1.Numpy是什么 很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过nu ...

  8. angular入门一之环境安装及项目创建

    angular入门一之环境安装及项目创建 1.安装node.js 下载,安装,在终端测试安装是否成功:node -v(查看nodejs版本) npm -v(查看npm版本) 下载地址:https:// ...

  9. 数据分析与展示---Numpy入门

    概括: 一:数据维度 (一)一维数据 (二)二维数据 (三)多维数据 (四)高维数据 二:Numpy的数组对象:ndarray (一)Numpy介绍 (二)N维数组对象ndarray (三)ndarr ...

  10. Numpy入门(二):Numpy数组索引切片和运算

    在Numpy中建立了数组或者矩阵后,需要访问数组里的成员,改变元素,并对数组进行切分和计算. 索引和切片 Numpy数组的访问模式和python中的list相似,在多维的数组中使用, 进行区分: 在p ...

随机推荐

  1. Django专题-form表单

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  2. 嵌入式Linux环境变量如何参与程序运行

    1.环境变量一共有两份,一份在Flash中,另一份在DDR中.uboot开机时一次性从Flash中读取全部环境变量到DDR中作为环境变量的初始化值,然后使用过程中都是用DDR这一份,用户可以用save ...

  3. Proe4.0使用VB.net生成缩略图方法

    Private Sub btnRasterImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ...

  4. 【转】Fst指数

    [转]Fst指数 转载自 http://blog.csdn.net/zhu_si_tao/article/details/71513099 与 http://blog.sina.com.cn/s/bl ...

  5. Linux集群软件安装实战

    一.需求和思路 1. 需求描述 公司有N个节点的集群,需要统一安装一个软件(jdk)需要开发一个脚本程序,实现对集群中的N个节点批量自动下载.安装jdk 2. 思路 1)编写一个启动脚本,用来发送一个 ...

  6. The website is API(1)

    Requests 自动爬取HTML页面 自动网路请求提交 robots 网络爬虫排除标准 Beautiful Soup 解析HTML页面 实战 Re 正则表达式详解提取页面关键信息 Scrapy*框架 ...

  7. 量化投资_TB交易开拓者A函数和Q函数常见组合应用

    1 在交易开拓者当中,关于交易的做单方式一般分为:图表函数和A函数两类. 两类的主要区别为:如果采用图表函数的话,所有的交易内容都是以图表上面的信号为准,当前仓位运行的实际状态是没有的,但是可以显示交 ...

  8. HDU-6708 Windows Of CCPC(打表,递归)

    http://acm.hdu.edu.cn/showproblem.php?pid=6708 Time Limit: 2000/1000 MS (Java/Others)    Memory Limi ...

  9. Base64转PDF、PDF转IMG(使用pdfbox插件)

    --添加依赖 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --><dependency>  ...

  10. 华硕X450j清灰教程

    近期本人电脑咳嗽,电脑发烧,风扇呼呼的吹(电脑风扇好像出了问题),去了电脑上商城买了一支止咳糖浆(HEATSINK COMPOUNDS)硅脂, 废话不多说了 1 ,当然要把电脑关了,卸下三排螺丝,然后 ...