Numpy
一 : 安装ipython以及用到的包介绍
- # 这里我们会用到ipython解释器,本文代码在ipython下运行
- Pip3 install ipython
- Pip3 install jupyter
- Jupyter notebook
- Pandas 是我们数据分析的核心包
- pandas相当于是表数据
- Series相当于表数据的一列
- Dropna() : 过滤掉为nan的行
- iloc 是下标 df[0,1] # 两个都是下标
- Loc 是标签 df.loc[df.index[0], 'close'] # 两个都是标签
- #例子中是知道一个索引,将索引变成标签
- 多维:
- - Df.dropna(how='all') 删除单列全是nan的
- - Df.dropna(axis=1) #x=1找行 , x=1找列
二: 关于numpy
- import numpy as np
- # astype
- In [7]:
- arr = np.array([1.2,2.3,3.4])
- arr.astype('int')
- arr
- arr1 = arr.astype('int')
- arr1
- Out[7]:
- array([1, 2, 3])
- In [ ]:
- # eye 矩阵
- In [12]:
- np.eye(6)
- Out[12]:
- array([[ 1., 0., 0., 0., 0., 0.],
- [ 0., 1., 0., 0., 0., 0.],
- [ 0., 0., 1., 0., 0., 0.],
- [ 0., 0., 0., 1., 0., 0.],
- [ 0., 0., 0., 0., 1., 0.],
- [ 0., 0., 0., 0., 0., 1.]])
- In [14]:
- import random
- l = [random.randint(1,10) for i in range(0,20)]
- l
- Out[14]:
- [2, 6, 3, 5, 1, 5, 7, 5, 10, 7, 2, 7, 4, 8, 2, 2, 3, 1, 5, 2]
- In [17]:
- arr = np.array(l)
- arr
- Out[17]:
- array([ 2, 6, 3, 5, 1, 5, 7, 5, 10, 7, 2, 7, 4, 8, 2, 2, 3,
- 1, 5, 2])
- In [18]:
- list(filter(lambda x:x>5,l))
- Out[18]:
- [6, 7, 10, 7, 7, 8]
- In [19]:
- arr.T
- Out[19]:
- array([ 2, 6, 3, 5, 1, 5, 7, 5, 10, 7, 2, 7, 4, 8, 2, 2, 3,
- 1, 5, 2])
- In [20]:
- arr.size
- Out[20]:
- 20
- In [21]:
- arr.ndim
- Out[21]:
- 1
- In [30]:
- arr=np.array([1.2,2.3,3.8,5,6])
- arr
- Out[30]:
- array([ 1.2, 2.3, 3.8, 5. , 6. ])
- In [31]:
- arr.astype('int')
- Out[31]:
- array([1, 2, 3, 5, 6])
- In [34]:
- # 花式索引
- arr = np.array(l)
- arr
- Out[34]:
- array([ 2, 6, 3, 5, 1, 5, 7, 5, 10, 7, 2, 7, 4, 8, 2, 2, 3,
- 1, 5, 2])
- In [36]:
- # 花式索引
- arr[[1,3,5,7,9]]
- Out[36]:
- array([6, 5, 5, 5, 7])
- In [37]:
- # 花式索引
- arr[np.arange(0,arr.size,2)]
- Out[37]:
- array([ 2, 3, 1, 7, 10, 2, 4, 2, 3, 5])
- In [45]:
- '''
- ceil : 向上取整 3.1-->4 -3.1 --> -3
- floor : 向下取整 取小 3.1-->3 3.9-->3
- rint(round) : 四舍五入 3.6--> 4 3.1-->3 找最近的数
- trunc(int) : 向零取整(舍去小数点后)
- modf : 将整数和小数分开
- maximun 相同位置取最大
- minimum 相反
- '''
- arr = np.arange(10)
- arr.sum()
- arr.mean() # 平均数
- arr.cumsum() # 前缀和
- Out[45]:
- array([ 0, 1, 3, 6, 10, 15, 21, 28, 36, 45])
- In [43]:
- # var : 方差, 表示这组输的离散程度
- arr.var() 数越小越集中
- Out[43]:
- 8.25
- In [44]:
- # std : 标准差
- arr.std()
- Out[44]:
- 2.8722813232690143
- # uniform : 对应randint 小数
- # np.random.rand() 0到1 的随机小数
- In [47]:
- l = [1,2,3,4,5]
- random.shuffle(l) # 洗牌
- l
- Out[47]:
- [5, 3, 4, 1, 2]
- np.random.randint(-10,10,5) # -10到10之间的随机整数 拿5个
- In [*]:
- np.random.randint(-10,10,(3,5)) # -10到10之间的随机整数 拿5个
Numpy的更多相关文章
- 《机器学习实战-KNN》—如何在cmd命令提示符下运行numpy和matplotlib
问题背景:好吧,文章标题是瞎取得.平常用cmd运行python代码问题不大,我在学习<机器学习实战>这本书时,发现cmd无法运行import numpy as np以及import mat ...
- 机器学习实战笔记(Python实现)-08-线性回归
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
- 机器学习实战笔记(Python实现)-04-Logistic回归
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
- 机器学习实战笔记(Python实现)-03-朴素贝叶斯
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
- 机器学习实战笔记(Python实现)-01-K近邻算法(KNN)
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
- 《机器学习实战》学习笔记——第13章 PCA
1. 降维技术 1.1 降维的必要性 1. 多重共线性--预测变量之间相互关联.多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯.2. 高维空间本身具有稀疏性.一维正态分布有68%的值落于正负 ...
- 机器学习实战 - 读书笔记(14) - 利用SVD简化数据
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第14章 - 利用SVD简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. 基 ...
- 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...
- 机器学习实战笔记5(logistic回归)
1:简单概念描写叙述 如果如今有一些数据点,我们用一条直线对这些点进行拟合(改线称为最佳拟合直线),这个拟合过程就称为回归.训练分类器就是为了寻找最佳拟合參数,使用的是最优化算法. 基于sigmoid ...
- K近邻 Python实现 机器学习实战(Machine Learning in Action)
算法原理 K近邻是机器学习中常见的分类方法之间,也是相对最简单的一种分类方法,属于监督学习范畴.其实K近邻并没有显式的学习过程,它的学习过程就是测试过程.K近邻思想很简单:先给你一个训练数据集D,包括 ...
随机推荐
- struts2摘抄
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.struts使 ...
- Qt快速上手(学习笔记四)
拖了大半年,今天终于有更新了...我自己都不好意思,最近太忙了! 今天讲一下:QML语法 一 概述 QML是一种专门用于构建用户界面的编程语言,它允许用户构建高性能,具有流畅特效的可视化应用程序,QM ...
- 赵雅智:service与訪问者之间进行通信,数据交换
服务类 中间人:service服务中的bind对象 创建中间人并通过onBinder方法的return暴露出去 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...
- [Python学习] 简单网络爬虫抓取博客文章及思想介绍
前面一直强调Python运用到网络爬虫方面很有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简介下Python是怎样爬去网络数据的,文章知识很easy ...
- Android酷炫有用的开源框架
一.代码库 1.from 代码家 整理比較好的源代码连接 一.兼容类库 ActionBarSherlock : Action Bar是Android 3.0后才開始支持的,ActionBarSher ...
- 剑指offer面试题14-调整数组顺序使奇数位于偶数前面
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得全部奇数位于数组的前半部分.全部偶数位于数组的后半部分. 前后分的这个.,让我想起来高速排序.好吧,就用这个做. 考虑到了排序的可扩 ...
- Qt---自定义界面之 Style Sheet
这次讲Qt Style Sheet(QSS),QSS是一种与CSS类似的语言,实际上这两者几乎完全一样.既然谈到CSS我们就有必要说一下盒模型. 1. 盒模型(The Box Model) 在样式中, ...
- OS X Yosemite升级提示升级OS10.11或更高版本问题解决方法
如图,楼主的pro久未升级,版本号已经很低.某天一时兴起,想体验最新版本的OS X.就很开心的进行软件更新: 依据iOS上的APP.系统升级经验,这是一个非常自然.毫无难度的过程,哪知道,今天一直卡在 ...
- (转)rabbitMQ基础知识及命令语句
摘要: 整理rabbitmq的用户管理相关知识,备忘 安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败. ...
- effective java学习笔记之不可实例化的类
在没有显式声明一个类的构造方法时,编译器会生成默认的无参构造方法,在设计工具类时,我们通常将方法设置成静态方法,以类名.方法名的形式调用,此时这个类就没有必要创建实例,我们知道抽象类不可以被实例化,但 ...