数据分析相关学习 -1 numpy
前情提要:
数据分析:把一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究
对象的内在规律
数据分析的三剑客: numpy,pandas,matplotlb
numpy是python语言的一个扩展程序库,支持大量的维度数组与矩阵的运算
,此外,也针对数组的运算,提供了大量的数学函数库
一: 创建ndarray
导包
import numpy as np
1: 创建数组 np.array()
1=>1: 创建一个一维数组
np.array([1,2,3,4,5]) 输出:
array([1, 2, 3, 4, 5])
1=>2:创建一个二维数组
in:
np.array([[1,2,3],[4,'a',6],[6,7,8]]) out:
array([['1', '2', '3'],
['4', 'a', '6'],
['6', '7', '8']], dtype='<U11')
注意: numpy的默认的ndarray的所有数据元素的类型是相同的.
如果传进ladies列表中包含不同的类型,则统一为统一类型
优先级:
str>float>int
2:使用np的routines函数创建
包含以下常见创建方法:
2=>1:
np.ones(shape,dtype=None,order='c') 创建纯一的数组
in:
np.ones(shape=(3,3))
out: Out[9]:
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
2=>2:
np.zeros(shape,dtpye=None,order='c') 创建一个纯0的数组
in:
np.zeros(shape=(3,3)) out
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
2=>3:
np.full(shape,fill_value,dtype=None,order='c') 创建一个所有数字都一样的列表
in:
np.full(shape=(3,3),fill_value=100)
out:
array([[100, 100, 100],
[100, 100, 100],
[100, 100, 100]])
2=>4:
np.lispace(start,stop,num=50,endpoint=True. retstep=False, dtype=None)
等差数列
np.linspace(1,100,num=20)
array([ 1. , 6.21052632, 11.42105263, 16.63157895,
21.84210526, 27.05263158, 32.26315789, 37.47368421,
42.68421053, 47.89473684, 53.10526316, 58.31578947,
63.52631579, 68.73684211, 73.94736842, 79.15789474,
84.36842105, 89.57894737, 94.78947368, 100. ])
2=>5:
np.arange(0,100,step=2)

2=>6: 产生随机的整数
np.random.randint(low,high=None,size=None,dtype='l')

2=>7: 标准正太分布

二: ndarray的属性
4个必计参数:ndim ; 维度 shape :形状 (各维度的长度) size :总长度
dtype :元素类型
ndim 维度

size :总长度

dtype 数据类型

三: ndarray的基本操作
1 :索引
一维与列表完全一致 多维时同理

根据索引修改数据

2 切片
一维与列表完全一致 多维时同理
样本数据

2=>1: 获取前两行

2=>2: 获取前两列

2=>3:获取前两列的前两行

2=>4: 行倒序

2:=>5: 列倒序

2=>6: 全部倒序

3 变形
使用arr.reshape(),注意参数是一个元组
基本使用
1.将一维数组变成多维数组,或多维数组变成以为数组
1=>1 :一变多

1=>2:多变一:

4: 级联
np.concatenate()
注意: axis=0 轴像
0 表示 竖直方向,
1 表示水平方向
相同轴像的数据维度要相同

5 切分:
与级联类似,三个函数完成切分工作:
np.split(arr,行/列号,轴):参数2是一个列表类型

注意: axis=1 的时候为竖着切 ,0为横着切

四: ndarray的聚合操作


五 广播机制
ndarray广播机制的三条规则:缺失维度的数组将维度补充为进行运算的数组的维度。缺失的数组元素使用已有元素进行补充。
- 规则一:为缺失的维度补1(进行运算的两个数组之间的维度只能相差一个维度)
- 规则二:缺失元素用已有值填充
- 规则三:缺失维度的数组只能有一行或者一列
例子1 :
数据分析相关学习 -1 numpy的更多相关文章
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- python数据分析入门学习笔记
学习利用python进行数据分析的笔记&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据分 ...
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- python数据分析入门学习笔记儿
学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据 ...
- python数据分析---第04章 NumPy基础:数组和矢量计算
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...
- [学习笔记] Numpy基础 系统学习
[学习笔记] Numpy基础 上专业选修<数据分析程序设计>课程,老师串讲了Numpy基础,边听边用jupyter敲了下--理解+笔记. 老师讲的很全很系统,有些点没有记录,在PPT里就不 ...
- 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)
注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...
- Oracle OCI操作UDT相关学习(二)
沿用 Oracle OCI操作UDT相关学习 一文中定义的类型和表. 1.更改数据 在sqldeveloper 中更新数据, update dxl.cust set addr.street='a11' ...
- ReentrantLock 相关学习笔记
ReentrantLock 相关学习笔记 标签(空格分隔): Java多线程 Java接口Lock有三个实现类:ReentrantLock.ReentrantReadWriteLock.ReadLoc ...
随机推荐
- LIUNX随堂学习-2 用户和组,增、删、改、查
1.less的使用 less /etc/group #查看组的信息 less /etc/gshadow #查看组密码 例如:less /tmp/aa ...
- 数据类型 _python
字符串 str # a ="asd bfg" # print(a.capitalize()) #首字母大写 # print(a.title()) #每个单词首字母大写 # prin ...
- Python数值日期时间笔记
数值: 格式化 小数位的处理 随机数: random.choice() 序列中随机选择一个值 random.sample() 获取指定数目的序列 random.shuffle() 打乱顺序 rando ...
- Golang不会自动把slice转换成interface{}类型的slice
目录 例子 原因 如何去实现 例子 我们时常会写一些interface,例如: type A interface{ Print() } type B struct { } func (b *B) Pr ...
- 【Scratch】它跟Mindstorms,有什么区别?
第197篇文章 老丁的课程 在正式开始这套课程之前,依照老丁的习惯,还是要给大家白话下东西,该怎么学? 本节课,来讲讲我对于学习这个软件(包括和EV3配合起来)的一些看法.同时,也给小朋友们一些编程学 ...
- BZOJ2555 SubString(后缀自动机+LCT)
询问串放在SAM上不跳fail跑到的节点的|right|即为答案.用LCT维护parent树即可.可以直接维护子树信息,也可以转化为路径加.注意强制在线所使用的mask是作为参数传进去的. #incl ...
- 怎样对小数进行向上取整 / 向下取整 / 四舍五入 / 保留n位小数 / 生成随机数
1. 向上取整使用: Math.ceil() Math.ceil(0.1); Math.ceil(1.9); 2. 向下取整使用: Math.floor() Math.floor(0.1); Math ...
- (一)Maven基础及第一个Maven工程
一.Maven介绍 ANT/Maven/gradle是一个项目管理工具,它包含了一项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecy ...
- (十二) web服务与javaweb结合(3)
一.需求 上一章节虽然将webservice和web项目绑定在了一起,但是还是不能共同一个端口,本章讲解webservice和web项目绑定且共同端口. 二.案例 2.1 创建web工程,并引入依赖 ...
- 十六进制转换十进制(JAVA版)
解题思路路大概为:现将十六进制数转换为二进制数,再讲二进制数转换为八进制数.在进行十六进制转换为八进制时可以利用JAVA中的‘&’运算符号,一个十六进制数可以表示为四个二进制数,利用‘& ...