Numpy 库
可以直接通过pip安装。
pip install numpy
1 NumPy的数值类型

每一种数据类型都有相应的转换函数。使用dtype属性可以查看数组的数据类型。如下。

2 数组操作
使用arange()函数可以来生成数组。

2.1 元素索引
如果数组是一维的,直接跟list一样索引就好。
如果数组是多维的,就使用跟线性代数里一样的行,列索引。如下。

2.2 一维数组切片
一维数组的切片,跟list的一样。

2.3 处理数组形状
- 拆解
用ravel()函数可以把多维数组变成一维数组。

- 拉直(Flatten)
flatten()函数与ravel()相同。不同的是,flatten()返回的是真实的数组,需要分配新的内存空间。
- 用元组指定数组形状
除reshape()函数外,还可以用元组来定义数组的形状。

- 转置
就是线性代数里的意思,行列互换。使用transpose()函数实现。

- 调整大小
函数resize()的作用类似于reshape(),但是会改变所作用的数组。

2.3.1 堆叠数组
- 水平叠加
使用hstack()函数来码放这些数组。

使用concatenate()函数也能达到同样的效果,但是记得参数axis要设为1。

- 垂直叠加
同样的,使用vstack()函数或使用concatenate()函数,此时参数axis设为0。

- 深度叠加
使用dstack()函数,可以沿着第三个坐标轴的方向来叠加一摞数组,增加一个维度。简单理解,就是在一幅图像上叠加了另一幅图像。下面的代码就得到了一个三维数组。

- 列式堆叠
使用column_stack()函数可以以列的方式对一维数组进行堆叠。

用这个函数来堆叠二维数组时,其实就相当于hstack()函数。
- 行式堆叠
函数是row_stack(),和column_stack()一样的用法。
2.3.2 拆分数组
3 数组的属性
使用shape属性可以查看数组的形状。

使用ndim属性可以查看数组的维度数。

使用size属性可以查看数组的元素数量。

使用itemsize属性可以查看数组中各个元素所占用的字节数。

使用nbytes属性可以查看整个数组所需的字节数量。

使用T属性可以实现与函数transpose()相同的功能,对数组进行转置。
【参考】
[1]Numpy中文文档
Numpy 库的更多相关文章
- 安装numpy库
1.先安装pip: 下载地址:http://pypi.python.org/pypi/pip#downloads 下载pip-8.1.2.tar.gz(md5,pgp)完成之后,解压到一个文件夹,cm ...
- Python的numpy库下的几个小函数的用法
numpy库是Python进行数据分析和矩阵运算的一个非常重要的库,可以说numpy让Python有了matlab的味道 本文主要介绍几个numpy库下的小函数. 1.mat函数 mat函数可以将目标 ...
- numpy库:常用基本
numpy 本文主要列出numpy模块常用方法 大部分内容来源于网络,而后经过自己的一点思考和总结,如果有侵权,请联系我 我是一名初学者,有哪些地方有错误请留言,我会及时更改的 创建矩阵(采用ndar ...
- Python数据分析numpy库
1.简介 Numpy库是进行数据分析的基础库,panda库就是基于Numpy库的,在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高 2.Numpy库的安装 linux(Ubuntu ...
- 数据分析与展示——NumPy库入门
这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...
- 初识NumPy库-基本操作
ndarray(N-dimensional array)对象是整个numpy库的基础. 它有以下特点: 同质:数组元素的类型和大小相同 定量:数组元素数量是确定的 一.创建简单的数组: np.arra ...
- numpy库常用基本操作
NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...
- Numpy库(个人学习笔记)
一样,咱的计算机还是得先拥有Python,并且安装了Numpy库.有疑问的话可以看这里呦~~~~ 下面开讲: NumPy的主要对象是齐次多维数组.它是一个元素表(通常是数字),并且都是相同类型,由正整 ...
- Numpy库的下载及安装(吐血总结)
Python很火,我也下了个来耍耍一阵子.可是渐渐地,我已经不满足于它的基本库了,我把目光转到了Numpy~~~~~ 然而想法总是比现实容易,因为我之前下的是Python3.3.x,所有没有自带pip ...
- 简单记录numpy库的某些基本功能
这里介绍python的一个库,numpy库,这个库是机器学习,数据分析最经常用到的库之一,也是利用python做数据必须用到的一个库,入门机器学习学的第一个python库就是它了. 先对其导入到pyt ...
随机推荐
- elk快速入门-Logstash
Logstash1.功能:数据输入,数据筛选,数据输出2.特性:数据来源中立性,支持众多数据源:如文件log file,指标,网站服务日志,关系型数据库,redis,mq等产生的数据3.beats:分 ...
- Python学习 第一天(一)初始python
1.python的前世今生 想要充分的了解一个人,无外乎首先充分了解他的过去和现在:咱们学习语言也是一样的套路 1.1 python的历史 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈp ...
- Solr——Java应用
Solr有一个客户端SolrJ 创建一个Java Project 引入Jar包 添加test类 package com.solr.test; import java.io.IOException; i ...
- 喜大普奔!.NET界面控件DevExpress v19.2发布,快来下载体验
DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...
- Qt 多线程使用moveToThread
Qt有两种多线程的方法,其中一种是继承QThread的run函数,另外一种是把一个继承于QObject的类用moveToThread函数转移到一个Thread里. Qt4.8之前都是使用继承QThre ...
- HDU 6040 - Hints of sd0061 | 2017 Multi-University Training Contest 1
/* HDU 6040 - Hints of sd0061 [ 第k小数查询,剪枝 ] 题意: 给出随机数列 a[N] (N < 1e7) 询问 b[M] (M < 100) ,对于每个询 ...
- BZOJ 3060: [Poi2012]Tour de Byteotia 并查集
前 $k$ 个节点形成的结构必定是森林,而 $[k+1,r]$ 之间肯定是都连上,而剩下的一个在 $[1,k],$一个在 $[k+1,r]$ 的节点就能连多少连多少即可. Code: #include ...
- poj 3050 Hopscotch DFS+暴力搜索+set容器
Hopscotch Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2774 Accepted: 1940 Description ...
- ZOJ - 3715贪心
ZOJ - 3715KindergartenElection 题目大意:幼儿园里正在举办班长选举,除1号小朋友外每个人都会投他最好的朋友,但1号小朋友可以贿赂别人(小伙子有丶想法),被贿赂的小朋友就会 ...
- Tree-based Model 如何处理categorical variable
categorical variable 分为 order variale 和 non-order variable,其中order variable直接使用sklearn.preprocess.La ...