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 条评论
登录 后参与评论

相关文章

  • Numpy使用2

    上一个博客写到了numpy的特性,如何安装以及功能初探。这一篇就讲讲numpy的常用功能以及与其它python库的结合使用。 假设你已经成功执行下列语句: im...

    GavinZhou
  • GBDT(Gradient Boosting Decision Tree)

    GBDT+FFM(FM)+Online Learing(FTRL)是kaggle比赛的重点方法,而且暑期实习面试的时候也有很多面试官问了,还是很有必要学习下的....

    GavinZhou
  • 【Google 年度顶级论文】机器学习系统,隐藏多少技术债?

    原文在此:google原文 1. 介绍 随着机器学习(ML)社群持续积累了几年对于活跃系统(live systems)的经验,一种让人不舒服的趋势广泛地浮出...

    GavinZhou
  • 重磅:李飞飞加盟Twitter任独立董事,或将用AI监管疫情虚假信息

    人工智能专家李飞飞博士是斯坦福大学计算机科学系的首任Sequoia讲席教授,也是斯坦福大学HAI(以人为本的AI)研究所的联合主任。她曾任Google AI和深...

    新智元
  • 远程升级准备工作: 安装Web服务器

      前言:大家可以安装Apache,Tomcat,nginx 等Web服务器软件,这篇文章安装 OpenResty 作为Web服务器软件,该软件安装在云端电脑,...

    杨奉武
  • 谷歌调试工具选取元素选择不到页面的具体元素问题

    z-index的问题 document的默认值是0. 一旦出现这种问题,检查下是否对大背景设置了z-index:-1; 如果设置了这个,那么所有的被设元素的内容...

    smy
  • 解决 android 高低版本 webView 里内容 自适应屏幕的终极方法

    转载请声明出处(https://cloud.tencent.com/developer/user/1148436/activities) 一,先说下我的情况,...

    林冠宏-指尖下的幽灵
  • Git 常用命令

    叙帝利
  • 从Yii2的源码来分析框架的QueryParamAuth的鉴权过程

    Yii是基于PHP语言打造的一款框架,了解PHP的同学对这款框架肯定也不会陌生。而我在最近使用yii2写App接口的时,查看官方了的RESTful Web服务文...

    Originalee
  • 022:如果要将对象用作Map中的key,需要注意什么

    如果将对象作为Map中的key,需要是实现该对象的equals方法和hashCode方法;现在一般通过lombok可以简单得实现,并且可以选择具体需要哪些字段参...

    阿杜

扫码关注云+社区

领取腾讯云代金券