![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
鞋子不会飞
突破认识看世界
展开
-
Pandas之案例总结
Pandas之案例总结1 需求2 实现2.1 问题一:2.2 问题二:2.3 问题三:1 需求现在我们有一组从2006年到2016年1000部最流行的电影数据数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data问题1:我们想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取?问题2:对于这一组电影数据,如果我们想rating,runtime的分布情况,应该如何呈现数据?问题3:对于这一组电影数据,如果我们希望统计电影分原创 2020-12-22 23:42:26 · 244 阅读 · 0 评论 -
Pandas之分组与聚合
Pandas之分组与聚合1 什么分组与聚合2 分组API3 星巴克零售店铺数据3.1 数据获取3.2 进行分组聚合分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况想一想其实刚才的交叉表与透视表也有分组的功能,所以算是分组的一种形式,只不过他们主要是计算次数或者计算比例!!看其中的效果:1 什么分组与聚合2 分组APIDataFrame.groupby(key, as_index=False)key:分组的列数据,可以多个案例:不同颜色的不同笔的价格数原创 2020-12-22 23:31:41 · 118 阅读 · 0 评论 -
Pandas之交叉表与透视表
交叉表与透视表1 交叉表与透视表什么作用2 案例分析2.1 数据准备2.2 查看效果2.3 使用pivot_table(透视表)实现1 交叉表与透视表什么作用探究股票的涨跌与星期几有关?以下图当中表示,week代表星期几,1,0代表这一天股票的涨跌幅是好还是坏,里面的数据代表比例可以理解为所有时间为星期一等等的数据当中涨跌幅好坏的比例交叉表:交叉表用于计算一列数据对于另外一列数据的分组个数(用于统计分组频率的特殊透视表)pd.crosstab(value1, value2)透视表原创 2020-12-22 23:24:56 · 278 阅读 · 1 评论 -
Pandas之数据合并
Pandas之数据合并1 pd.concat实现数据合并2 pd.merge2.1 pd.merge合并如果你的数据由多张表组成,那么有时候需要将不同的内容合并在一起分析1 pd.concat实现数据合并pd.concat([data1, data2], axis=1)按照行或列进行合并,axis=0为列索引,axis=1为行索引比如我们将刚才处理好的one-hot编码与原数据合并# 按照行索引进行pd.concat([data, dummies], axis=1)2 pd.mer原创 2020-12-22 23:17:39 · 215 阅读 · 0 评论 -
Pandas之数据离散化
Pandas之数据离散化1 为什么要离散化2 什么是数据的离散化3 股票的涨跌幅离散化3.1 读取股票的数据3.2 将股票涨跌幅数据进行分组3.3 股票涨跌幅分组数据变成one-hot编码1 为什么要离散化连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。2 什么是数据的离散化连续属性的离散化就是在连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数 值代表落在每个子区间中的属性值。离散化有很多种方法,这使原创 2020-12-22 23:11:08 · 201 阅读 · 0 评论 -
Pandas之缺失值处理
Pandas之缺失值处理1 如何处理nan2 电影数据的缺失值处理2.1判断缺失值是否存在2.2 存在缺失值nan,并且是np.nan2.3不是缺失值nan,有预设标记的1 如何处理nan获取缺失值的标记方式(NaN或其他标记方式)如果缺失值的标记方式是NaN判断数据中是否包含NaN:pd.isnull(df),pd.notnull(df)存在缺失值nan,并且是np.nan:1,删除存在缺失值的:dropna(axis =‘rows’)注:不会修改原数据,需要接受返回值原创 2020-12-22 23:02:31 · 261 阅读 · 0 评论 -
Pandas之文件读取与存储
文件读取与存储1 CSV1.1 read_csv1.2 to_csv1.3案例2 HDF52.1 read_hdf与to_hdf2.2案例3 JSON3.1 read_json3.2 read_josn案例3.3 to_json3.4案例优先选择使用HDF5文件存储我们的数据大部分存在于文件当中,因此pandas会支持复杂的IO操作,pandas的API支持众多的文件格式,例如CSV,SQL,XLS,JSON,HDF5。注:最常用的HDF5和CSV文件1 CSV1.1 read_csvpan原创 2020-12-20 23:48:45 · 704 阅读 · 0 评论 -
Pandas画图
Pandas画图1 pandas.DataFrame.plot2 pandas.Series.plot1 pandas.DataFrame.plotDataFrame.plot(kind=‘line’)kind : str,需要绘制图形的种类‘line’ : line plot (default)‘bar’ : vertical bar plot‘barh’ : horizontal bar plot关于“barh”的解释:http://pandas.pydata.org/panda原创 2020-12-20 23:29:47 · 105 阅读 · 0 评论 -
Pandas之DataFrame运算
DataFrame运算1 算术运算2 逻辑运算2.1 逻辑运算符号2.2 逻辑运算函数3 统计运算3.1 describe3.2 统计函数3.3 累计统计函数4 自定义运算1 算术运算add(other)比如进行数学运算加上具体的一个数字data['open'].add(1)2018-02-27 24.532018-02-26 23.802018-02-23 23.882018-02-22 23.252018-02-14 22.49sub(oth原创 2020-12-20 23:24:40 · 536 阅读 · 0 评论 -
Pandas之基本数据操作
Pandas之基本数据操作1 索引操作1.1 直接使用行列索引(先列后行)1.2 结合loc或者iloc使用索引1.3 使用ix组合索引2 赋值操作3 排序3.1 DataFrame排序3.2 Series排序为了更好的理解这些基本操作,我们将读取一个真实的股票数据。关于文件操作,后面在介绍,这里只先用一下API# 读取文件data = pd.read_csv("./data/stock_day.csv")# 删除一些列,让数据更简单些,再去做后面的操作data = data.drop(["m原创 2020-12-20 23:06:47 · 241 阅读 · 0 评论 -
Pandas之数据结构
Pandas数据结构1.Series1.1 Series的创建1.2 Series的属性2.DataFrame2.1 DataFrame的创建2.2 DataFrame的属性2.3 DatatFrame索引的设置2.3.1 修改行列索引值2.3.2 重设索引2.3.3 以某列值设置为新的索引3.MultiIndex与Panel3.1 MultiIndex3.1.1 multiIndex的特性3.1.2 multiIndex的创建3.2 Panel3.2.2 查看panel数据Pandas中一共有三种数据原创 2020-12-19 20:00:15 · 191 阅读 · 1 评论 -
Pandas之Pandas介绍
Pandas介绍1 Pandas介绍2 为什么使用Pandas1 Pandas介绍2008年WesMcKinney开发出的库专门用于数据挖掘的开源python库以Numpy为基础,借力Numpy模块在计算方面性能高的优势基于matplotlib,能够简便的画图独特的数据结构2 为什么使用PandasNumpy已经能够帮助我们处理数据,能够结合matplotlib解决部分数据展示等问题,那么pandas学习的目的在什么地方呢?增强图表可读性回忆我们在numpy当中创建学生成绩表原创 2020-12-19 19:27:46 · 120 阅读 · 1 评论 -
Numpy之数学:矩阵
数学:矩阵1 矩阵和向量1.1 矩阵1.2 向量2 加法和标量乘法3 矩阵向量乘法4 矩阵乘法1 矩阵和向量1.1 矩阵矩阵,英文matrix,和array的区别矩阵必须是2维的,但是array可以是多维的。如图:这个是 3×2 矩阵,即 3 行 2 列,如 m 为行,n 为列,那么 m×n 即 3×2矩阵的维数即行数×列数矩阵元素(矩阵项):Aij 指第 i 行,第 j 列的元素。1.2 向量向量是一种特殊的矩阵,讲义中的向量一般都是列向量,下面展示的就是三维列 向量(3×1原创 2020-12-19 19:19:25 · 115 阅读 · 1 评论 -
Numpy之数组间运算
数组间运算1 数组与数的运算2 数组与数组的运算2.1 广播机制1 数组与数的运算arr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])arr + 1arr / 2# 可以对比python列表的运算,看出区别a = [1, 2, 3, 4, 5]a * 32 数组与数组的运算arr1 = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])arr2 = np.array([[1原创 2020-12-19 19:12:03 · 298 阅读 · 1 评论 -
Numpy之ndarray运算
ndarray运算1 逻辑运算2 通用判断函数3 np.where(三元运算符)4 统计运算4.1 统计指标4.2 案例:学生成绩统计运算1 逻辑运算# 生成10名同学,5门功课的数据>>> score = np.random.randint(40, 100, (10, 5))# 取出最后4名同学的成绩,用于逻辑判断>>> test_score = score[6:, 0:5]# 逻辑判断, 如果成绩大于60就标记为True 否则为False>&原创 2020-12-19 19:06:50 · 162 阅读 · 1 评论 -
Numpy之基本操作
Numpy之基本操作1 生成数组的方法1.1 生成0和1的数组1.2 从现有数组生成1.2.1 生成方式1.2.2 关于array和asarray的不同1.3 生成固定范围的数组1.3.1 np.linspace (start, stop, num, endpoint)1.3.2 np.arange(start,stop, step, dtype)1.3.3 np.logspace(start,stop, num)1.4 生成随机数组1.4.1 使用模块介绍1.4.2 正态分布一、基础概念复习:正态分布(理原创 2020-12-19 18:56:37 · 128 阅读 · 1 评论 -
jupyter输出太大可能导致崩溃问题
如果遇到IOPub data rate exceeded. The notebook server will temporarily stop sending output to the client in order to avoid crashing it. To change this limit, set the config variable `--NotebookApp.iopub_data_rate_limit`.这个问题是在jupyer当中对输出的字节数原创 2020-12-19 18:55:50 · 2057 阅读 · 3 评论 -
Numpy之N维数组-ndarray
N维数组-ndarray1 ndarray的属性2 ndarray的形状3 ndarray的类型4 总结1 ndarray的属性数组属性反映了数组本身固有的信息。属性名字属性解释ndarray.shape数组维度的元组ndarray.ndim数组维数ndarray.size数组中的元素数量ndarray.itemsize一个数组元素的长度(字节)ndarray.dtype数组元素的类型2 ndarray的形状首先创建一些数组。# 创建不原创 2020-12-19 18:24:22 · 192 阅读 · 1 评论 -
Numpy之Numpy优势
Numpy优势1 Numpy介绍2 ndarray介绍3 ndarray与Python原生list运算效率对比4 ndarray的优势4.1 内存块风格4.2 ndarray支持并行化运算(向量化运算)4.3 效率远高于纯Python代码1 Numpy介绍Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。Numpy使用ndarra原创 2020-12-19 18:01:26 · 1360 阅读 · 2 评论 -
Matplotlib之常见图形绘制
常见图形绘制1 常见图形种类及意义折线图:以折线的上升或下降来表示统计数量的增减变化的统计图散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。柱状图:排列在工作表的列或行中的数据可以绘制到柱状图中。直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。饼图:用于表示不同分类的占比情况,通过弧度大小来对比各种分类。2 散点图绘制3 柱状图绘制Matplotlib能够绘制折线图、散点图、柱状图、直方图、原创 2020-12-19 17:40:43 · 407 阅读 · 1 评论 -
Matplotlib之基础绘图功能
Matplotlib基础绘图功能1 完善原始折线图 — 给图形添加辅助功能1.1 准备数据并画出初始折线图1.2 添加自定义x,y刻度1.3 中文显示问题解决1.4 添加网格显示1.5 添加描述信息1.6 图像保存1.7完整代码1 完善原始折线图 — 给图形添加辅助功能为了更好地理解所有基础绘图功能,我们通过天气温度变化的绘图来融合所有的基础API使用需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度效果:1.1 准备数据并画出初始折线图import ma原创 2020-12-16 23:45:03 · 198 阅读 · 0 评论 -
Matplotlib之HelloWorld
Matplotlib之HelloWorld1 什么是Matplotlib2 为什么要学习Matplotlib3 实现一个简单的Matplotlib画图 — 以折线图为例3.1 matplotlib.pyplot模块3.2 图形绘制流程:3.3 折线图绘制与显示4 认识Matplotlib图像结构1 什么是Matplotlib是专门用于开发2D图表(包括3D图表)以渐进、交互式方式实现数据可视化2 为什么要学习Matplotlib可视化在数据挖掘是关键辅助工具,可以清晰的理解数据,从而调整我原创 2020-12-16 23:24:42 · 121 阅读 · 0 评论 -
Jupyter Notebook
Jupyter Notebook1 Jupyter Notebook介绍2 为什么使用Jupyter Notebook传统软件开发:工程/目标明确数据挖掘:艺术/目标不明确3 Jupyter Notebook的使用-helloworld3.1 界面启动、创建文件3.1.2 新建notebook文档3.1.3 内容界面操作3.2 cell操作3.2.1 鼠标操作3.2.2 快捷键操作3.3 markdown演示4 Jupyter Notebook中自动补全代码等相关功能4.1 安装jupyter_contri原创 2020-12-16 23:07:54 · 313 阅读 · 0 评论 -
机器学习基础环境搭建
机器学习基础环境搭建新建AI虚拟环境机器学习基础阶段会用到Matplotlib、Numpy、Pandas等库,为了统一版本号在环境中使用,将所有的库及其版本放到了文件requirements.txt当中,然后统一安装新建AI虚拟环境mkvirtualenv airequirements.txtmatplotlib==2.2.2numpy==1.14.2pandas==0.20.3tables==3.4.2jupyter==1.0.0每个包安装的过程中,尽量指定稳定版本进行安装安原创 2020-12-15 23:19:55 · 615 阅读 · 1 评论