《Python数据分析》笔记1 ——Numpy
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的更多相关文章
- python数据分析笔记——数据加载与整理]
[ python数据分析笔记——数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&id ...
- Python数据分析笔记
最近在看Python数据分析这本书,随手记录一下读书笔记. 工作环境 本书中推荐了edm和ipython作为数据分析的环境,我还是刚开始使用这种集成的环境,觉得交互方面,比传统的命令行方式提高了不少. ...
- python数据分析三剑客之: Numpy
数据分析三剑客之: Numpy 一丶Numpy的使用 numpy 是Python语言的一个扩展程序库,支持大维度的数组和矩阵运算.也支持针对数组运算提供大量的数学函数库 创建ndarray # 1 ...
- python数据分析笔记中panda(1)
1 例子1 from pandas import read_csv; df = read_csv('H://pythonCode//4.1//1.csv') df 截图 1.1 修改表的内容编码 df ...
- python 数据分析工具之 numpy pandas matplotlib
作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...
- Python数据分析工具库-Numpy 数组支持库(一)
1 Numpy数组 在Python中有类似数组功能的数据结构,比如list,但在数据量大时,list的运行速度便不尽如意,Numpy(Numerical Python)提供了真正的数组功能,以及对数据 ...
- $python数据分析基础——初识numpy库
numpy库是python的一个著名的科学计算库,本文是一个quickstart. 引入:计算BMI BMI = 体重(kg)/身高(m)^2 假如有如下几组体重和身高数据,让求每组数据的BMI值: ...
- Python数据分析笔记目录
速查笔记 使用实例 Pandas-数据导入 (未完成) Pandas-数据探索 基础属性 shape indexs columns values dtype/dtypes 汇总和计算描述统计 coun ...
- python学习笔记-Day2 Numpy数组
1. 实现两个数组相加,在数据量特别大的时候 产生数组: (1) 从列表产生数组:a=[0,1,2,3] a=np.array(1) a (2) 从列表传入 a=np.array([1,2,3,4 ...
- Python数据分析工具库-Numpy 数组支持库(二)
1 shape变化及转置 >>> a = np.floor(10*np.random.random((3,4))) >>> a array([[ 2., 8., 0 ...
随机推荐
- ubuntu 环境变量PATH的修改
sudo nano /etc/environment 环 境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的 She ...
- Linux tomcat安装详解(未完)
转: http://blog.csdn.net/lcyaiym/article/details/76696192
- URAL 1750 Pakhom and the Gully 计算几何+floyd
题目链接:点击打开链接 gg.. . #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cs ...
- Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27
Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27 1. 修改历史2 2. 适用语言::几乎所有编程语言.语言提升的三个渠道::语法,类库,框架,ide2 2.1. 单根继承 ...
- C++语言基础(4)-构造函数和析构函数
一.构造函数 类似于java,C++中也有构造函数的概念,相关用法如下: 1.1 构造函数的定义 #include <iostream> using namespace std; clas ...
- nginx源码学习_数据结构(ngx_int_t)
nginx中关于整型的数据结构位于src/core/ngx_config.h中 结构比较简单,就是一个typedef的操作,具体如下: typedef intptr_t ngx_int_t; type ...
- nginx源码学习_数据结构(ngx_pool_t)
nginx中关于ngx_pool_t的数据结构位于src/core/ngx_palloc.c和src/core/ngx_palloc.h中,该数据结构主要是和内存池相关的,写下这篇博客前参考了网上很多 ...
- Eclipse maven 项目红叉 编译不报错问题处理
项目右键-> Maven -> Update Maven Project 选中 :Force update 复选框
- 如何上传package到pypi
首先访问 pypi 创建一个帐号,并且需要验证一个邮箱,注意网易163邮箱收不到验证的邮件. 安装上传工具 pip install --user twine 执行上传命令 python setup.p ...
- tomcat遇到版本问题
1.Dynamic web module 2.J2EE Web modules 3.Tomcat version 4.<web-app xmlns:xsi="http://www.w ...