Numpy数组

1.Numpy数组对象

Numpy中的多维数组称为ndarray,他有两个组成部分。

1.数据本身

2.描述数据的元数据

2.Numpy的数值类型

bool: 布尔型

inti:其长度取决于平台的整数(通常为int32或int64)

int8:字节类型

int16:整型

int32:整型

int64:整型

uint8:无符号整型

uint16:无符号整型

uint32:无符号整型

uint64:无符号整型

float16:半精度浮点型

float32:单精度浮点型

float64或者float:双精度浮点型

complex64:复数类型

complex128或者complex:复数类型

谨记:不要把复数类型转换为整型,这会报错。,同样也不允许把复数转化为浮点数。

3.一维数组的切片与索引

一维数组Numpy数组的切片操作与Python列表的切片一样。

In:a=np.arange()
In:a[:]
Out:array([,,,])
In:a[::]
Out:array([,,,])

4.处理数组形状

可以利用以下函数处理数组的形状

1.拆解:可以用ravel()函数将多维数组变成一维数组,a.ravel()

2.拉直:flatten()函数的名字取得很贴切,其功能与ravel()相同,可是,flatten()返回的是真实的数组,需要分配新的内存空间;而ravel()函数返回的只是数组的视图

3.用元组指定数组形状:除了reshape()函数外,还可以用元组来轻松定义数组的形状。

4.转置:行变列,列变行。a.transpose()

5.调整大小:函数resize()作用类似于reshape()但是会改变所作用的数组

堆叠数组

1.水平叠加

用concatenate()函数也能达到同样的效果

2.垂直叠加

当参数axis置为0时,concatenate()函数也会得到同样效果

3.深度叠加

这种方法是沿着第三个坐标轴(纵向)的方向来叠加一摞数组。

4.列式堆叠

column_stack()函数以列方式对一维数组进行堆叠

5.行式堆叠

拆分Numpy数组

相关函数hsplit()、vsplit()、dsplit()和split()。我们既可以把数组分成相同形状的数组,也可以从规定的位置开始切取数组。

1.横向拆分

相当于调用参数axis=1的split()函数:

2.纵向拆分

当参数axis=0,split()函数也会沿着纵轴方向分解数组

3.深度拆分

前提是必须要有深度。

Numpy的数组属性

ndim:存储的是维度的数量

size:用来保存元素的数量

itemsize:可以返回数组中各个元素所占用的字节数

nbytes:整个数组所需的字节数量

T:与transpose()函数相同,转置

real:该属性返回实部

imag:该属性返回虚部

flat属性:可以返回一个numpy.flatiter对象,这是获得flatiter对象的唯一方法,但我们无法访问flatiter的构造函数。可以使用flat的迭代器来遍历数组,就像遍历“胖”数组那样

数组的转换

1.Numpy数组转换成Python列表,使用tolist()函数

2.astype()函数可以把数组元素转换成指定类型

Numpy数组的广播

当操作对象的形状不一样时,Numpy会尽力进行处理

例如,假设一个数组要跟一个标量相乘,这时标量需要根据数组的形状进行扩展,然后才可以执行乘法运算。这个扩展的过程叫做广播。

《Python数据分析》笔记1 ——Numpy的更多相关文章

  1. python数据分析笔记——数据加载与整理]

    [ python数据分析笔记——数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&id ...

  2. Python数据分析笔记

    最近在看Python数据分析这本书,随手记录一下读书笔记. 工作环境 本书中推荐了edm和ipython作为数据分析的环境,我还是刚开始使用这种集成的环境,觉得交互方面,比传统的命令行方式提高了不少. ...

  3. python数据分析三剑客之: Numpy

    数据分析三剑客之: Numpy 一丶Numpy的使用 ​ numpy 是Python语言的一个扩展程序库,支持大维度的数组和矩阵运算.也支持针对数组运算提供大量的数学函数库 创建ndarray # 1 ...

  4. python数据分析笔记中panda(1)

    1 例子1 from pandas import read_csv; df = read_csv('H://pythonCode//4.1//1.csv') df 截图 1.1 修改表的内容编码 df ...

  5. python 数据分析工具之 numpy pandas matplotlib

    作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...

  6. Python数据分析工具库-Numpy 数组支持库(一)

    1 Numpy数组 在Python中有类似数组功能的数据结构,比如list,但在数据量大时,list的运行速度便不尽如意,Numpy(Numerical Python)提供了真正的数组功能,以及对数据 ...

  7. $python数据分析基础——初识numpy库

    numpy库是python的一个著名的科学计算库,本文是一个quickstart. 引入:计算BMI BMI = 体重(kg)/身高(m)^2 假如有如下几组体重和身高数据,让求每组数据的BMI值: ...

  8. Python数据分析笔记目录

    速查笔记 使用实例 Pandas-数据导入 (未完成) Pandas-数据探索 基础属性 shape indexs columns values dtype/dtypes 汇总和计算描述统计 coun ...

  9. python学习笔记-Day2 Numpy数组

    1. 实现两个数组相加,在数据量特别大的时候 产生数组: (1)  从列表产生数组:a=[0,1,2,3] a=np.array(1) a (2)  从列表传入 a=np.array([1,2,3,4 ...

  10. Python数据分析工具库-Numpy 数组支持库(二)

    1 shape变化及转置 >>> a = np.floor(10*np.random.random((3,4))) >>> a array([[ 2., 8., 0 ...

随机推荐

  1. 微信支付和微信支付通知基于sdk的说明

    前提是,有微信服务号(必须开通了支付功能,也就是说有了商户后台) (注意商户后台 安全目录 的设置,不然即使你写的没错误,也调用不成功) 公众号h5页面写法:  (购物车提交--我们上一步已经生成了订 ...

  2. 如何修改两个PHP版本,php-v和phpinfo两个不同的版本

    先查找php.ini find / -name php.ini得出两个ini/usr/local/php/etc/php.ini/etc/php.ini php -i | grep php.ini查看 ...

  3. Redis之Hash数据结构

    0.前言 redis是KV型的内存数据库, 数据库存储的核心就是Hash表, 我们执行select命令选择一个存储的db之后, 所有的操作都是以hash表为基础的, 下面会分析下redis的hash数 ...

  4. android动画具体解释二 属性动画原理

    property动画是一个强大的框架,它差点儿能使你动画不论什么东西. 你能够定义一个动画来改变对象的不论什么属性,不论其是否被绘制于屏幕之上. 一个属性动画在一定时间内多次改变一个属性(对象的一个字 ...

  5. Linux操作系统下/etc/hosts文件配置方法

    1.关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) hosts文件是Linux系统中一个负 ...

  6. JavaScript之语句

    ECMA-262 规定了一组语句(也称为流控制语句).从本质上看,语句定义了 ECMAScript 中的主要语法,语句通常使用一或多个关键字来完成给定任务. if语句 if语句是最常见的一种语句,语法 ...

  7. jstat -gcutil pid millsec

      1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间. 其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc ...

  8. Java Resource路径小结

    首先一点很重要,Java中不存在标准的相对路径,各种相对路径取资源的方式都是基于某种规则转化为绝对路劲 然后一点也很重要,绝对不要直接使用绝对路径,否则死得很难看 基于以上两点,总结Resource路 ...

  9. C# 委托和Lambda表达式

    看了一些资料,简要的总结一下委托,Lambda,事件. 委托. 1)委托的含义 委托定义了函数类型,是一种类似“C++函数指针”的东西. 但委托和函数指针还是不同的,函数指针不过是一个函数的入口地址( ...

  10. 小数数据精度问题Double与BigDecimal

    做项目的过程中涉及到小数问题的时候,一般我都用Double类型,但是经常出现*.999999998这种数据,然后自己再手动四舍五入,简直傻的要死. 明明就是一个1.51-1.38的问题,很简单怎么会得 ...