Python基础 — NumPy
NumPy--简介
其部分功能如下:
①ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。
②用于对整组数据进行快速运算的标准数学函数(无需编写循环)。
③用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
④线性代数、随机数生成以及傅里叶变换功能。
⑤用于集成由C、C++、Fortran等语言编写的代码的工具。
NumPy的安装
直接安装
在cmd中进入到 python的安装目录下的scripts文件夹中,执行下面的命令:
pip install numpy
离线安装
1、打开网址https://pypi.org/project/numpy/,找到安装的python版本对应的numpy版本。
2、将numpy下载到 python的安装目录下的scripts文件夹中;
3、然后在cmd中执行以下命令:
pip install numpy-1.14.5-cp36-none-win_amd64.whl
ndarray多维数组
简介
NumPy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器。
ndarray是一个通用的同构数据容器,也就是说,其中的所有元素必须是相同类型的。
每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象)
date.shape
data.dtype
创建ndarray
嵌套序列(比如由一组等长列表组成的列表)将会被转换为一个多维数组。
| 函数 | 描述 |
|---|---|
| array | 将输入数据(列表、元组、数据或其他序列类型)转换为ndarray;默认直接复制输入数据; |
| asarray | 将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制; |
| arange | 类似内置range,但返回的是一个ndarray而不是列表; |
| ones、ones_like |
前者根据指定的形状和dtype创建一个全1数组,后者以另一个数组为参数,并创建一个全1数组; |
| zeros、zeros_like | 类似于ones和ones_like,产生的是全0数组; |
| empty、empty_like | 创建新数组,只分配内存空间但不填充任何值; |
| eye、identity | 创建一个正方的N * N 单位矩阵(对角线为1,其他为0); |
实现代码
import numpy as np
data1 = [6,7.5,8,0,1] #创建列表
arr1 = np.array(data1) #转换为数组
print(arr1)
print(arr1.dtype) #数据类型保存在dtype对象中
data2 = [[1,2,3,4],[5,6,7,8]] #创建嵌套序列(由等长列表组成的列表)
arr2 = np.array(data2) #转换为多维数组
print(arr2)
print(arr1.dtype)
print(arr1.shape)
print(np.zeros(10)) #创建指定长度(10)的全0数组
print(np.ones(2,4)) #创建指定长度的(2行4列二维)的全1数组
print(np.empty((2, 3, 2)))#创建指定长度的(2行3列2层的三维)的随机数数组
ndarray的数据类型
dtype是NumPy如此强大和灵活的原因之一。多数情况下,它们直接映射到相应的机器表示,这使得“读写磁盘上的二进制数据流”以及“集成低级语言代码(如C、Fortran)”等工作变得更加简单。
数值型dtype的命名方式相同:一个类型名(如float或int),后面跟一个用于表示各元素位长的数字。
标准的双精度浮点值(即Python中的float对象)需要占用8字节(即64位)。因此,该类型在NumPy中就记作float64。
用data.dtype()来显示数据类型
| 类型 | 描述 |
|---|---|
| bool | 用一位存储的布尔类型(值为TRUE或FALSE) |
| inti | 由所在平台决定其精度的整数(一般为int32或int64) |
| int8 | 整数,范围为 -128 至 127 |
| int16 | 整数,范围为 -32 768 至 32 767 |
| int32 | 整数,范围为 -231 至 231 - 1 |
| int64 | 整数,范围为 -263 至 263 - 1 |
| uint8 | 无符号整数,范围为 0 至 255 |
| uint16 | 无符号整数,范围为 0 至 65 535 |
| uint32 | 无符号整数,范围为 0 至232 - 1 |
| uint64 | 无符号整数,范围为 0至 264 - 1 |
| float16 | 半精度浮点数(16位):其中用1位表示正负号,5位表示指数,10位表示尾数 |
| float32 | 单精度浮点数(32位):其中用1位表示正负号,8位表示指数,23位表示尾数 |
| float64或float | 双精度浮点数(64位):其中用1位表示正负号,11位表示指数,52位表示尾数 |
| complex64 | 复数,分别用两个32位浮点数表示实部和虚部 |
| complex128或complex | 复数,分别用两个64位浮点数表示实部和虚部 |
Python基础 — NumPy的更多相关文章
- Python基础-numpy
创建数组 numpy.array():括号内可以是列表.元祖.数组.生成器等 numpy.arange():类似range(),在给定间隔内返回均匀间隔的值 #numpy.linspace() 返回在 ...
- python基础--numpy.random
# *_*coding:utf-8 *_* # athor:auto import numpy.random #rand(d0, d1, ..., dn)n维随机值 data0 = numpy.ran ...
- python基础--numpy.dot
# *_*coding:utf-8 *_* # athor:auto import numpy dot = numpy.dot([0.100, 0.200],2.) print(dot) #[ 0.2 ...
- Python基础——numpy库的使用
1.numpy库简介: NumPy提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而产生. 2.numpy库使用: 注:由于深度学习中存在大量的 ...
- python基础系列教程,数学基础系列教程,数据分析系列教程,神经网络系列教程,深度学习系列视频教程分享交流
大家好,我是一个技术爱好者,目前对大数据人工智能很是痴迷,虽然学历只有高中,目前正在大踏步的向着人工智能狂奔,如果你也想学习,那就来吧 我的学习进度python基础(Numpy,pandas,matp ...
- [转]python与numpy基础
来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb ...
- Python数据分析基础——Numpy tutorial
参考link https://docs.scipy.org/doc/numpy-dev/user/quickstart.html 基础 Numpy主要用于处理多维数组,数组中元素通常是数字,索引值为 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
随机推荐
- python面向对象编程设计与开发
一.什么是面向对象的程序设计 1.何为数据结构? 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,如列表.字典. 2.何为编程? 编程是指程序员用特定的语法+数据结构+算法,组成的代码,告 ...
- linux 用户管理、权限管理
1.useradd -[ugGdsce]2.passwd 用户名 ================================================ 1.chmod 2.chown 3. ...
- Spring实战读书笔记
Spring实战读书笔记 Spring-core Spring之旅 - DI 和 AOP 概念 spring 的Bean容器 spring 的 核心模块 Spring的核心策略 POJO 最小侵入式编 ...
- Codeforces 651D Image Preview【二分+枚举】
题意: 若干张照片,从头开始可以向左右两边读,已经读过的不需要再读,有的照片需要翻转,给定读.滑动和翻转消耗的时间,求在给定时间内最多能读多少页? 分析: 首先明确,只横跨一次,即先一直读一边然后再一 ...
- POJ 3684_Physics Experiment
题意: 若干球最初从高到低排列,依次落下. 球与地面碰撞,速度不变方向相反,球之间碰撞, 交换速度和方向.问某一时刻各个球的高度. 分析: 把球之间的碰撞看成是擦肩而过,但是由于半径的存在,最后每个球 ...
- Ubuntu 16.04下操作iptables的技巧(解决Failed to start iptables.service: Unit iptables.service not found.或者/etc/init.d/iptables: 没有那个文件或目录)
/etc/init.d/iptables网上的解法应该都是基于CentOS 6去实践,而在CentOS 7中又被firewalld给取代,所以操作上的写法基本会改变,但是底层iptables则不会改变 ...
- 1、Java并发性和多线程-并发性和多线程介绍
以下内容转自http://ifeve.com/java-concurrency-thread/: 在过去单CPU时代,单任务在一个时间点只能执行单一程序.之后发展到多任务阶段,计算机能在同一时间点并行 ...
- atom的react自动补全插件
atom-react-autocomplete–项目内,组件名及状态的自动补全 autocomplete-js-import–模块导入智能提示 emmet-jsx-css-modules– React ...
- SVN的配置与使用方法
1.所选服务器安装包:VisualSVN-Server-2.1.3.msi. 2.客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi 一.服务器的安装 ...
- Google搜索引擎用法
Google搜索引擎用法 ★搜索引擎的选择 先简单说一下"搜索引擎的选择". 在咱们天朝,Google 屡屡被 GFW 骚扰,导致百度占了便宜,成为份额最高的搜索引擎.不过今天这篇 ...