Python 之NumPy

NumPy的主要对象是同质的多维数组。它是一个有明确索引的相同类型的元素组成的表。在NumPy中维度称之为轴,轴数称之为列。

举个例子:

例一:

[ 1, 2, 1 ]

这是一个一维数组,因为它只有一个轴,这个轴的长度是3.

列二:

[[ 1., 0., 0.],[ 0., 1., 2.]]

这是一个二维数组,第一个维度的长度是2,第二个维度的长度是3.

NumPy中的array类被称之为ndarray,但是他的别名array更有名。特别需要注意的是NumPy.array和Python 标准库里的arry.array不一样。array.array只提供了比较少的方法。而NumPy中array包含以下重要属性:

ndarray.ndim

数组的维度数量

返回类型: number

ndarray.shape

数组的各个维度,这是一个存储了数组各个维度大小的int类型元祖。是一个n行m列矩阵,shape(n,m),这个shape的长度就是数组的维度数量。(如(2,3)表示2x3)

返回类型:tuple

ndarray.size

数组中所有元素的数量

返回类型:number

ndarray.dtype

数组中元素的类型。你可以使用python的types来创建和指定dtype’s,除此之外,numpy有自己的types,如:float64

返回类型:dtype对象

ndarray.itemsize

数组中每个元素的字节数。例如:float64类型的数组元素的itemize是8(64/8)

ndarray.data

不常用,访问数组元素使用索引更便利

创建数组

#使用array方法创建数组,array的参数可以是python的list和tuple
>>> import numpy as np
>>> a = np.array([2,3,4])
>>> a
array([2, 3, 4])
>>> a.dtype
dtype(‘int64‘)
>>> b = np.array([1.2, 3.5, 5.1])
>>> b.dtype
dtype(‘float64‘)
#array可以将序列中的序列转化为2维数组
>>> b = np.array([(1.5,2,3), (4,5,6)])
>>> b
array([[ 1.5,  2. ,  3. ],       [ 4. ,  5. ,  6. ]])
数组的类型可以在创建时被显示的指定
>>> c = np.array( [ [1,2], [3,4] ], dtype=complex )
>>> c
array([[ 1.+0.j,  2.+0.j],       [ 3.+0.j,  4.+0.j]])

在创建数组的时候通常不知道数组的数据,但是知道数组的大小。所以numpy提供了几种方式类初始化数组内容。

zeros创建一个所有元素都是0的数组

>>> np.zeros( (3,4) )
array([[ 0.,  0.,  0.,  0.],       
    [ 0.,  0.,  0.,  0.],       
    [ 0.,  0.,  0.,  0.]])

ones创建一个所有元素都是1的数组

>>> np.ones( (2,3,4), dtype=np.int16 )  # dtype can also be specified
array([[[ 1, 1, 1, 1],
        [ 1, 1, 1, 1],
        [ 1, 1, 1, 1]],
        [[ 1, 1, 1, 1],
        [ 1, 1, 1, 1],        
        [ 1, 1, 1, 1]]], dtype=int16)

empty的内容使用随机数填充

>>> np.empty( (2,3) )    # uninitialized, output may vary
array([[  3.73603959e-262,   6.02658058e-154,   6.55490914e-260],
       [  5.30498948e-313,   3.14673309e-307,   1.00000000e+000]
时间: 2024-10-14 04:34:42

Python 之NumPy的相关文章

Windows系统下Python与NumPy安装方法

Windows系统下Python与NumPy安装方法 Windows下Python的某些第三方包安装步骤实在是太麻烦了(这里主要以NumPy为例,目前只有遇到安装它的时候出现了很多问题),晚上花了好几个小时才把NumPy科学计算包安装好,在这里描述下安装过程,避免大家走没有必要的弯路. 1,安装Python 首先,运行下载的MSI安装包,选择安装组件时,确保勾上了所有的组件. 特别要注意选上pip和Add python.exe to Path,然后多次点击Next即可完成安装. Python解释

windows下python配置numpy、matplotlib、scipy

这两天对Python进行了研究,并且配置了numpy.matplotlib以及scipy.现对基本概念以及配置步骤介绍: 基本概念: Python (英语发音:/?pa?θ?n/), 是一种面向对象.解释型计算机程序设计语言.专用的科学计算扩展库很多,例如如下3个十分经典的科学计算扩展库:NumPy.SciPy和matplotlib,它们分别为Python提供了快速数组处理.数值运算以及绘图功能. <python科学计算>这本书中对Python介绍得很是详细,推荐下.电子版下载链接http:/

python和numpy的版本、安装位置

命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注意:‘-V‘中‘V’为大写字母,只有一个‘-’ 方法二: python --version 注意:‘--version'中有两个‘-’ 2.查看python安装位置 方法一: python -c "import sys; print sys.executable" 方法二: python -c "import os; print os.sys.executable&

【机器学习算法实现】kNN算法__手写识别——基于Python和NumPy函数库

[机器学习算法实现]系列文章将记录个人阅读机器学习论文.书籍过程中所碰到的算法,每篇文章描述一个具体的算法.算法的编程实现.算法的具体应用实例.争取每个算法都用多种语言编程实现.所有代码共享至github:https://github.com/wepe/MachineLearning-Demo     欢迎交流指正! (1)kNN算法_手写识别实例--基于Python和NumPy函数库 1.kNN算法简介 kNN算法,即K最近邻(k-NearestNeighbor)分类算法,是最简单的机器学习算

[转]python与numpy基础

来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb python与numpy基础 寒小阳(2016年6月) Python介绍 如果你问我没有编程基础,想学习一门语言,我一定会首推给你Python类似伪代码的书写方式,让你能够集中精力去解决问题,而不是花费大量的时间在开发和debug上同时得益于Numpy/Scipy这样的科学计算库,使得其有非常高效

python 安装numpy报错

在python安装numpy的时候,一般会出现错误,说缺少vc++9.0,还有一个**.bat文件,这个时候的解决方法很多,我提供最简单,最有效的解决方法在这个网站http://www.lfd.uci.edu/~gohlke/pythonlibs/下载相应的numpy版本,其中cp对应 的是python版本,我选的是cp27版本的,另外虽然我的是64位windows7,但是由于安装的python是32的,所以对应的numpy,我也选择的是32位的,并且安装后,很成功.选择下载了相应的numpy.

python安装numpy和pandas

最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须是2.7以上. linux首先安装依赖包 yum -y install blas blas-devel lapack-devel lapack yum -y install seaborn scipy yum -y install freetype freetype-devel libpng lib

【机器学习算法实现】logistic回归__基于Python和Numpy函数库

[机器学习算法实现]系列文章将记录个人阅读机器学习论文.书籍过程中所碰到的算法,每篇文章描述一个具体的算法.算法的编程实现.算法的具体应用实例.争取每个算法都用多种语言编程实现.所有代码共享至github:https://github.com/wepe/MachineLearning-Demo     欢迎交流指正! (2)logistic回归__基于Python和Numpy函数库 1.算法简介 本文的重点放在算法的工程实现上,关于算法的原理不具体展开,logistic回归算法很简单,可以看看A

【转载】python安装numpy和pandas

转载:原文地址 http://www.cnblogs.com/lxmhhy/p/6029465.html 最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须是2.7以上. linux首先安装依赖包 yum -y install blas blas-devel lapack-devel lapack yum -y install seaborn sc

Mathab和Python的numpy中的维度顺序

本文比较Matlab和Python的numpy在维度索引方面的不同点: 1.索引的起始点不同:Matlab起始位置的索引为1,Python为0 2.索引的括号不同:Matlab中元素可以通过小括号表示索引,Python中用中括号: Matlab中a(1, 2)表示a的第一行,第二列的元素 Python的numpy中a[1, 2]表示a的第二行,第三列的元素 Matlab中a(:, 1)表示a第一列的所有元素 Python的numpy中a[:, 1]表示a第二列的所有元素 注意到:两者的最后一个索