Numpy使用1

Numpy介绍

NumPy is the fundamental package for scientific computing with Python. It contains among other things:

  • a powerful N-dimensional array object
  • sophisticated (broadcasting) functions
  • tools for integrating C/C++ and Fortran code
  • useful linear algebra, Fourier transform, and random number capabilities

Numpy常常用在python科学计算中,最主要的能力就是提供了N-dimensional array(N维数组)的能力,可能有的人说python中不是有list嘛,list就可以当做数组用啊,说的没错,简单的数据的确是可以的,我问几个问题,如果你觉得list之类的都可以搞定,那么咱们就可以宣告numpy的死亡了

  1. 如何存储RGB图像
  2. 如何存储结构化的数据
  3. 如何高效存储和索引多维数组
  4. 如何高效的进行数据的切片和组装

很明显,这些list都是做不到的,如果你有类似的这类需求的话,那么numpy应该不会让你失望。

官方网址:HERE

Numpy的安装

我的机器是ubuntu14.04(64 位),建议使用pip安装,pip是个python的包管理器,通过它可以很方便的进行安装、卸载、升级

sudo apt-get install python-pip      # install pip
sudo pip install numpy               # install numpy

如果是windows的话,同样可以先安装pip,再使用pip安装numpy,不过过程稍微麻烦点,请大家自行百度

Getting Started

安装好以后,我们来测试下,并写段小代码体验下numpy的强大功能

import numpy as np

如果你import没有出错的化,就表示你已经成功安装好了 下面我们在ipython的交互式环境下写点代码,体验下numpy的功能

(1)创建3*3的全0矩阵

In [1]: import numpy as np

In [2]: all_zero =np.zeros((3,3))

In [3]: all_zero
Out[3]: 
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])

In [4]: 

(2)从python的list种初始化numpy矩阵

In [8]: test_list = [1,3,5,6,7]

In [9]: array_numpy = np.arra
np.array         np.array_equal   np.array_repr    np.array_str
np.array2string  np.array_equiv   np.array_split   

In [9]: array_numpy = np.array(test_list)

In [10]: array_numpy
Out[10]: array([1, 3, 5, 6, 7])

In [11]: 

(3)创建多维数组(3*4*4)

In [11]: array_n_dim = np.ones((3,4,4),dtype='int8')

In [12]: array_n_dim
Out[12]: 
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],
        [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=int8)

In [13]: 

(4)从文本load结构化数据 假设当前目录下有个文本文件numpy_test.txt,内容是

In [14]: test_numpy = np.loadtxt('numpy_test.txt', str, delimiter=':')

In [15]: test_numpy
Out[15]: 
array([['1', '2'],
       ['3', '4'],
       ['5', '6'],
       ['7', '7'],
       ['8', '1']], 
      dtype='|S1')

In [16]: 

相信到这已经可以说明numpy的强大之处,其实还有很多的优秀特性还没介绍,下个文章继续

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

手把手教你安装深度学习软件环境(附代码)

来源:机器之心 本文长度为2800字,建议阅读5分钟。 本文向你解释如何在一台新装的 Ubuntu 机器上安装 Python 和 Nvidia 硬件驱动、各类库...

1908
来自专栏james大数据架构

创建支持多种屏幕尺寸的Android应用

Android涉及各种各样的支持不同屏幕尺寸和密度的设备。对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用...

1816
来自专栏IMWeb前端团队

移动端圆环进度动画方案(透明背景-透明度圆环-css3版)

本文作者:IMWeb 张颖 原文出处:IMWeb社区 未经同意,禁止转载 适逢元旦假期,妹子逛街吃火锅看电影陪女朋友之际,写出来的文章难免画风略微粗糙...

1768
来自专栏开源项目

让世界充满爱的图片处理工具 | 码云周刊第 30 期

让世界充满爱的图片处理工具 壹 项目名称:图片实时处理使用工具 iOS-GPUImage ? 项目简介:本项目是基于 ios 的图片处理 App,完全模仿 Q...

3065
来自专栏xingoo, 一个梦想做发明家的程序员

JQuery向导插件Step——第一个阉割版插件

如果使用过JQuery Steps的朋友一定会发现这个插件有一个缺点,就是页面在第一次进入的时候,会进行一次很明显的DOM重绘——页面会闪一下。 尤其是前端...

2337
来自专栏更流畅、简洁的软件开发方式

帮助文档的数据库结构

  自然框架一直没有完整的帮助文档,只是有几个简单的示例。这个就是差距呀,那么帮助文档要怎么写呢?有工具可以自动生成,但是总感觉自动生成的一点都不好用,自己都看...

1969
来自专栏AI研习社

深度学习界的 “吃鸡挂”——目标检测 SSD 实验

“卧槽,又被 LYB 干了!” 背后传来一声哀嚎。 哈哈,看来,沉迷吃鸡的室友又被戒网瘾了。作为一个充满着正义的 LYB 的游戏,这人不长点眼力还真的不行啊。不...

4025
来自专栏iOSDevLog

scetch入门 第2部分:文本,对齐和SVG在第3部分中了解如何导出文件

这是本教程第1部分的延续。在本部分中,我们将介绍文本工具,对齐以及在Sketch中使用导入的矢量图形。

913
来自专栏机器之心

从零开始:深度学习软件环境安装指南

3468
来自专栏向治洪

实用Android 屏幕适配方案分享

真正可用,并且简单易行,可以在多个屏幕大小和屏幕密度上有良好表现的Android 屏幕适配方案,已用在一款成熟互联网应用中,效果还不错。 ? 说起andro...

21010

扫码关注云+社区