![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
「已注销」
,,
展开
-
pandas系列总结案例
pandas系列总结案例1 需求现在我们有一组从2006年到2016年1000部最流行的电影数据数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data问题1:我们想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取?问题2:对于这一组电影数据,如果我们想知道rating,runtime的分布情况,应该如何呈现数据...原创 2019-08-15 20:46:27 · 641 阅读 · 0 评论 -
二分法查找
二分查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一...原创 2019-08-11 19:45:57 · 332 阅读 · 0 评论 -
归并排序
归并排序归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。def merge_sort(alist): if len(alist) <= 1...原创 2019-08-11 19:40:21 · 124 阅读 · 0 评论 -
快速排序-Quicksort
快速排序快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有...原创 2019-08-11 19:36:32 · 175 阅读 · 0 评论 -
希尔排序-Shell Sort
希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序的分析def she...原创 2019-08-11 19:29:19 · 294 阅读 · 0 评论 -
插入排序-Insertion Sort
插入排序插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序分析def insert_sort(alist): # 从第二个位置,即下标为1的元素开始向前...原创 2019-08-11 19:14:55 · 313 阅读 · 0 评论 -
选择排序-Selection sort
选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个...原创 2019-08-11 17:33:18 · 192 阅读 · 0 评论 -
冒泡排序-Bubble Sort
冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对每一对相...原创 2019-08-11 17:21:52 · 199 阅读 · 0 评论 -
Pandas数据结构
Pandas数据结构Pandas中一共有三种数据结构,分别为:Series、DataFrame和MultiIndex(老版本中叫Panel )。其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。1.SeriesSeries是一个类似于一维数组的数据结构,它能够保存任何类型的数据,比如整数、字符串、浮点数等,主要由一组数据和与...原创 2019-08-14 21:55:43 · 470 阅读 · 0 评论 -
Pandas介绍
1Pandas介绍2008年WesMcKinney开发出的库专门用于数据挖掘的开源python库以Numpy为基础,借力Numpy模块在计算方面性能高的优势基于matplotlib,能够简便的画图独特的数据结构2为什么使用PandasNumpy已经能够帮助我们处理数据,能够结合matplotlib解决部分数据展示等问题,那么pandas学习的目的在什么地方呢?增强图表可读...原创 2019-08-14 21:12:53 · 184 阅读 · 0 评论 -
二叉树
二叉树二叉树的基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的性质(特性)性质1:在二叉树的第i层上至多有2^(i-1)个结点性质2:深度为k的二叉树至多有2^k - 1个结点性质3:对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;性质4:...原创 2019-08-11 20:00:40 · 160 阅读 · 0 评论 -
二叉树的遍历-深度优先遍历-广度优先遍历(层次遍历)
二叉树的遍历树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,深度优先一般用递归,广度优先一般用队列。一般情况下能用递归实现的算法大部分也能用堆栈来实现。广度优先遍历(层次遍历)从树的root开始,从上到下从从左...原创 2019-08-11 20:14:43 · 522 阅读 · 0 评论 -
二叉树反推
二叉树反推二叉树有三种深度优先遍历方法:先序中序和后序,如果已知中序和先序,或已知中序和后序,可以确定二叉树的结构。例:先序:0 1 3 7 8 4 9 2 5 6中序:7 3 8 1 9 4 0 5 2 61、先序找根,中序定两边先序的特点是第一个元素是根确定0是根节点,中序的特点是根两侧分别是左右子树确定7 3 8 1 9 4 在0左边,5 2 6在0右边所以我们反推分界初始...原创 2019-08-11 20:30:27 · 1326 阅读 · 0 评论 -
pandas-高级处理-分组与聚合
pandas-高级处理-分组与聚合目标应用groupby和聚合函数实现数据的分组与聚合分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况想一想其实刚才的交叉表与透视表也有分组的功能,所以算是分组的一种形式,只不过他们主要是计算次数或者计算比例!!看其中的效果:1 什么分组与聚合2 分组APIDataFrame.groupby(key...原创 2019-08-15 20:24:59 · 422 阅读 · 1 评论 -
pandas-高级处理-交叉表与透视表
pandas-高级处理-交叉表与透视表目标应用crosstab和pivot_table实现交叉表与透视表1 交叉表与透视表什么作用探究股票的涨跌与星期几有关?以下图当中表示,week代表星期几,1,0代表这一天股票的涨跌幅是好还是坏,里面的数据代表比例可以理解为所有时间为星期一等等的数据当中涨跌幅好坏的比例交叉表:交叉表用于计算一列数据对于另外一列数据的分组个数(...原创 2019-08-15 20:10:30 · 214 阅读 · 0 评论 -
pandas-高级处理-合并
pandas-高级处理-合并目标应用pd.concat实现数据的合并应用pd.merge实现数据的合并如果你的数据由多张表组成,那么有时候需要将不同的内容合并在一起分析1 pd.concat实现数据合并pd.concat([data1, data2], axis=1)按照行或列进行合并,axis=0为列索引,axis=1为行索引比如我们将刚才处理好的one-hot...原创 2019-08-15 19:52:04 · 219 阅读 · 0 评论 -
pandas-高级处理-数据离散化
pandas-高级处理-数据离散化1 为什么要离散化连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。2 什么是数据的离散化连续属性的离散化就是在连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数 值代表落在每个子区间中的属性值。离散化有很多种方法,这里使用一种最简单的方式去操作原始人的身高...原创 2019-08-15 19:30:53 · 1520 阅读 · 0 评论 -
pandas 高级处理-缺失值处理
pandas 高级处理-缺失值处理1 如何处理nan1获取缺失值的标记方式(NaN或者其他标记方式)2如果缺失值的标记方式是NaN判断数据中是否包含NaN:pd.isnull(df),pd.notnull(df)存在缺失值nan,并且是np.nan:1、删除存在缺失值的:dropna(axis=‘rows’)注:不会修改原数据,需要接受返回值...原创 2019-08-15 19:16:36 · 381 阅读 · 0 评论 -
pandas-文件读取与存储
pandas-文件读取与存储我们的数据大部分存在于文件当中,所以pandas会支持复杂的IO操作,pandas的API支持众多的文件格式,如CSV、SQL、XLS、JSON、HDF5。我们的数据大部分存在于文件当中,所以pandas会支持复杂的IO操作,pandas的API支持众多的文件格式,如CSV、SQL、XLS、JSON、HDF5。1 CSV1.1 read_csvpan...原创 2019-08-15 18:56:39 · 762 阅读 · 0 评论 -
pandas绘图
pandas绘图1 pandas.DataFrame.plotDataFrame.plot(kind=‘line’)kind : str,需要绘制图形的种类‘line’ : line plot (default)‘bar’ : vertical bar plot‘barh’ : horizontal bar plot关于“barh”的解释:barth‘hist’ : hist...原创 2019-08-15 18:03:53 · 188 阅读 · 0 评论 -
pandas-DataFrame运算
DataFrame运算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(other)2 逻辑运算2.1 逻辑...原创 2019-08-15 17:24:35 · 3372 阅读 · 0 评论 -
pandas 基本数据操作
pandas 基本数据操作为了更好的理解这些基本操作,我们将读取一个真实的股票数据。关于文件操作,后面在介绍,这里只先用一下API# 读取文件data = pd.read_csv("./data/stock_day.csv")# 删除一些列,让数据更简单些,再去做后面的操作data = data.drop(["ma5","ma10","ma20","v_ma5","v_ma10","...原创 2019-08-15 17:02:30 · 237 阅读 · 0 评论 -
python系列之Gunicorn
GunicornGunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。安装gunicornpip install gunicorn查看命令行选项: 安装gunic...原创 2019-07-20 19:26:17 · 1376 阅读 · 0 评论 -
python系列之进程管理(Supervisor)
进程管理(Supervisor)进程管理工具启动/停止/自动重启程序, 而且还可以对多个程序分组管理(主要设置自动化任务,解放人的重复操作,比如启动服务器等)安装在python3兼容性不好, 需要使用python2进行安装sudo pip install supervisor配置运行echo_supervisord_conf命令输出默认的配置项,可以如...原创 2019-07-20 17:11:25 · 355 阅读 · 0 评论 -
python系列之单元测试(unittest)
单元测试1什么是单元测试程序开发过程中,写代码是为了实现需求。当我们的代码通过了编译,只是说明它的语法正确,功能能否实现则不能保证。 因此,当我们的某些功能代码完成后,为了检验其是否满足程序的需求。可以通过编写测试代码,模拟程序运行的过程,检验功能代码是否符合预期。单元测试就是开发者编写一小段代码,检验目标代码的功能是否符合预期。通常情况下,单元测试主要面向一些功能单一的模块进行。举...原创 2019-07-20 16:52:42 · 317 阅读 · 0 评论 -
python包中__init__.py的作用
# 完整的包会包含__init__.py文件# 只要导入包中的内容,就会先执行该文件 一般用于包的初始化处理print("包的初始化")# init文件中的__all__可以控制 from 包 import *导入的内容__all__ = ["module_msgsend", "module_msgrecv", "name", "func_send", "func_recv"]...原创 2019-07-18 19:48:37 · 155 阅读 · 0 评论 -
python系列之模块random(常用方法)
python中用于产生随机数的模块是randomimport random# 生成一个0-1之间的随机浮点数print(random.random())# 生成一个[a, b]之间的随机浮点数print(random.uniform(0, 10))# 生成一个[a, b]之间的随机整数print(random.randint(0, 10))# 在指定集合[a, b) 中,以...原创 2019-07-18 17:46:50 · 134 阅读 · 0 评论 -
python系列之文件操作
1文件基础操作1.1什么是文件文件的种类很多以下是一些举例文件的目的就是把数据存起来(持久化), 而不必每次都重新生成.1.2文件的打开与关闭想一想:如果想用word编写一份简历,应该有哪些流程呢?打开word软件,新建一个word文件写入个人简历信息保存文件关闭word软件同样,在操作文件的整体过程与使用word编写一份简历的过程是很相似的打开文件,或者新建立一...原创 2019-07-18 16:44:34 · 139 阅读 · 0 评论 -
python系列之起源(什么是python)
python之父我总是认为学习一样新事物的最好方法就是听故事,那么就来听听python和他的父亲的故事.python起源Python 的创始人为吉多·范罗苏姆(Guido van Rossum)(图片来至百度)Python的作者,Guido von Rossum,荷兰人。1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受...原创 2019-07-18 11:41:07 · 381 阅读 · 0 评论 -
redis系列之-集群搭建
redis集群搭建多个节点共同保存数据作用扩展存储空间提高吞吐量, 提高写的性能和单机的不同不再区分数据库, 只有0号库, 单机默认0-15不支持事务/管道/多值操作特点要求至少 三主三从要求必须开启 AOF持久化自动选择集群节点进行存储默认集成哨兵, 自动故障转移相关配置编写节点配置文件(至少6个节点)# ...原创 2019-07-15 16:34:16 · 124 阅读 · 0 评论 -
redis系列之--缓存方案(python)
缓存方案缓存介绍作用减小数据库的访问压力, 提高并发能力多级缓存本地缓存/一级缓存flask-cache安装 pip install flask-cache选择simple类型, 可以实现对响应的内存缓存https://www.cnblogs.com/cwp-bg/p/9687005.html项目中的应用一般不设置一级缓存内存缓存会影响web...原创 2019-07-15 15:24:03 · 1961 阅读 · 0 评论 -
小企业免费BI解决方案之在线---OLAP(Ubuntu系统下使用conda安装部署---superset)
小企业免费BI解决方案之在线—OLAP为了搭建一个测试版在线OLAP,我采用了以下方案:使用django快速搭建一个管理后台,使用系统默认admin,(第三方xadmin更优).使用python免费开源的发行版anaconda搭建jupyter,可以直接使用numpy,pandas,matplotlib进行数据清洗,抽取导出在线(现场展示更好)使用免费开源的supersetdj...原创 2019-07-13 22:04:33 · 537 阅读 · 0 评论 -
Django
DjangoWeb框架简介1.首先web应用的程序的处理流程是啥样的?简单说是这样的digraph G{ 客户 -> 服务器 服务器 -> 客户}具体就是这样的2.Web程序框架有啥意义?用于搭建Web应用程序免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现3.说这些都没懂,到底Web程序...原创 2019-07-09 19:19:27 · 326 阅读 · 0 评论 -
python小白菜常遇知识点之列表修改
##列表循环中不要对其进行修改"""解决方案1"""name_list = ["张三", "李四", "王五"]temp = [] # 创建临时列表for value in name_list: if value == "张三": temp.append(value) break # 找到就结束for value in temp: # 用副本...原创 2019-04-06 22:55:00 · 170 阅读 · 0 评论 -
redis系列之--事务
redis系列之–事务语法MULTI开启事务, 后续的命令会被加入到同一个事务中事务中的操作会发给服务端, 但是不会立即执行, 而是放到了该事务的对应的一个队列中, 服务端返回QUEUEDEXEC执行EXEC后, 事务中的命令才会被执行事务中的命令出现错误时, 不会回滚也不会停止事务, 而是继续执行DISCARD取消事务, 事务队列会清空, 客户端退出事务状态...原创 2019-07-16 15:44:35 · 124 阅读 · 0 评论 -
redis系列之--持久化
redis系列之持久化1 RDB 快照存储将内存中的所有数据完整的保存到硬盘中机制fork出一个子进程,专门进行数据持久化, 将内存中所有数据保存到单个rdb文件中(默认为dump.rdb)redis重启后, 会加载rdb文件中的数据到内存中触发方式配置中设置自动持久化策略SAVE | BGSAVE | SHUTDOWN (前提是设置了自动持久化策略)相关配置...原创 2019-07-16 15:55:24 · 136 阅读 · 0 评论 -
redis系列之--数据结构设计
redis系列之–数据结构设计redis数据结构和常用操作String -->语法格式:key value 可理解为{key:value}记录字符串/整数/浮点数命令set 添加/修改数据get 获取数据mset 添加多个数据mget 获取多个数据incr 计数加1decr 计数减1incrby 计数加n键命...原创 2019-07-16 16:38:17 · 729 阅读 · 0 评论 -
python数学科学库之Matplotlib
Matplotlib可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法。能将数据进行可视化,更直观的呈现使数据更加客观、更具说服力实现一个简单的Matplotlib画图# 1.创建画布plt.figure(figsize=(20,8), dpi=100)# 2.绘制图像x = [1,2,3]y = [4,5,6]plt.plot(x, y)...原创 2019-07-29 22:39:51 · 318 阅读 · 0 评论 -
python系列之面试者福音
Table of ContentsPython语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 @staticmethod和@classmethod4 类变量和实例变量5 Python自省6 字典推导式7 Python中单下划线和双下划线8 字符串格式化:\x和.format9 迭代器和生成器10 *args and **kwarg...原创 2019-07-17 21:59:47 · 476 阅读 · 0 评论 -
python系列之--单例模式5种实现方式
转载:https://blog.csdn.net/super_little_newbie/article/details/84344166转载 2019-07-17 21:46:59 · 110 阅读 · 0 评论