首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NumPy入门(一)

我打算用三篇文章介绍NumPy。NumPy是Python的一个库,主要用于处理数组。数组在数据领域到底有多重要呢?数组可以看做数据的最基本储存形式,在数组的基础上,有数据框,数据库等。要自己编程开发数据科学,数组是必须学习的。目前在实际使用方面,二维数组(实际就是个矩阵)是最常用的。像图像识别、数组识别、验证码识别这些方面,常把图片中的像素点转换成矩阵;文本领域,把词语转换为二进制矩阵。在学术研究方面,几乎大部分统计学科需要使用矩阵。所以说不管一个人要从事与数据有关的哪个方面,都必须学习矩阵。

NumPy(读/nʌmpi/,类似“那么皮”)是目前Python最火热的一个高效储存和操作数据的接口。通过使用NumPy的数组,Python就会成为你手中的矩阵计算器,就像R和Matlab那样。在这方面,R和Matlab的语言比Python更贴近于数学语言,这是二者的优点,但是速度快、效率高则是NumPy的优势。

安装NumPy,可以直接安装Anaconda这个大包(建议这样安装),也可以直接pip,一般来说,import后不出现错误就说明安装成功了。像大多数论坛和社区的习惯那样,本文也用np作为别名导入NumPy:

import numpy as np

创建基本数组

python支持这些类型的数据:

为什么要特别注意数据类型呢?因为NumPy数组是固定类型的,如果你事先创建了一个整型数组,那么当你把一个非整型数字赋值给该数组时,这个非整型的数字将被强制转换为整型。

创建特殊数组

索引、切片、变形、组合、分割

索引

首先简单谈一谈Python中元素的编号。与C++等语言类似,Python数组中元素的初始编号也是0,而不是像R中的初始编号为1。比如[8,87,65,12]这个数组,在Python中第一个元素8的编号为0,第二个元素87的编号为1,以此类推。但是在R语言中,第一个元素8的编号则为1。这一点很重要,应避免弄混。

以上面的f与h两个数组做示例:

切片

python切片的语法是:

数组名[开始元素:终止元素:步长],切片得到的结果包括开始元素,但是不包括终止元素。

还是以f和h两数组做示例:

需要特别注意,NumPy数组的切片属于提取子数组,相当于局部放大,并不是创建了一个副本。所以在修改NumPy数组的切片时,原始数组也会改变。如果不想这样,可以对原始数组使用.copy()方法,创建一个副本。

变形

利用.reshape(())函数修改某一数组的行列数:

组合

利用concatenate函数实现多个数组之间的拼接:

分割

与组合对应的就是分割。

有点累啊!

后面的下次再写。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180508G1M5BZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券