
python
DAN_L
这个作者很懒,什么都没留下…
展开
-
matplotlib函数积分图
yi原创 2020-03-14 16:31:47 · 750 阅读 · 0 评论 -
matplotlib极坐标
实践一:import numpy as npimport matplotlib.pyplot as pltr=np.arange(1,6,1)theta=[0,np.pi/2,np.pi,3np.pi/2,2np.pi]ax=plt.subplot(111,projection=‘polar’)ax.plot(theta,r,color=‘r’,linewidth=3)ax.grid...原创 2020-03-14 11:43:27 · 291 阅读 · 0 评论 -
matplotlib形状
一、概念(一)生成形状,patches(二)import matplotlib.patches as mpatches(三)add_patch二、实践import numpy as npimport matplotlib.pyplot as pltimport matplotlib.patches as mpatchesfig,ax=plt.subplots()xy1=np.ar...原创 2020-03-14 10:35:38 · 385 阅读 · 0 评论 -
matplotlib区域填充
一、概念(一)对曲线下面或者曲线之间的区域进行填充(二)fill,fill_between二、实践(一)fillimport numpy as npimport matplotlib.pyplot as pltx=np.linspace(0,5np.pi,1000)y1=np.sin(x)y2=np.sin(2x)plt.fill(x,y1,‘b’,alpha=0.3)pl...原创 2020-03-14 10:15:43 · 1174 阅读 · 0 评论 -
mabplotlib——Tex公式
一、概念(一)mabplotlib自带mathtext引擎,不需安装TeX系统(二)作为开始和结束符,如‘作为开始和结束符,如‘作为开始和结束符,如‘ y=x+z $’原创 2020-03-13 11:18:26 · 302 阅读 · 0 评论 -
matplotlib文字
import numpy as npimport matplotlib.pyplot as pltx=np.arange(-10,11,1)y=x2plt.plot(x,y)plt.text(-4,40,'function:y=x2’,family=‘fantasy’,color=‘k’,size=18,style=‘italic’,weight=‘black’,bbox=dict(...原创 2020-03-13 09:08:59 · 157 阅读 · 0 评论 -
matplotlib注释
import numpy as npimport matplotlib.pyplot as pltx=np.arange(-10,11,1)y=x**2plt.plot(x,y)plt.annotate(‘this is the bottom’,xy=(0,1),xytext=(0,20),arrowprops=dict(facecolor=‘r’,headlength=10,headw...原创 2020-03-13 08:56:12 · 224 阅读 · 0 评论 -
matplotlib添加坐标轴
第一种方法:import numpy as npimport matplotlib.pyplot as pltx=np.arange(2,20,1)y1=x2y2=np.log(x)plt.plot(x,y1)plt.twinx()plt.plot(x,y2,‘r’)plt.show()第二种方法:import numpy as npimport matplotlib.p...原创 2020-03-12 16:02:33 · 2513 阅读 · 0 评论 -
matplotlib坐标轴刻度
一、普通坐标轴刻度调整import numpy as npimport matplotlib.pyplot as pltx=np.arange(1,11,1)plt.plot(x,x)plt.locator_params(‘x’,nbins=20) #对x轴分20组plt.show()二、日期坐标轴刻度调整import numpy as npimport matplotli...原创 2020-03-12 15:49:41 · 799 阅读 · 0 评论 -
malplotlib坐标轴范围
第一种方法:import numpy as npimport matplotlib.pyplot as pltx=np.arange(-10,11,1)plt.plot(x,x2)plt.axis([-10,10,0,100])#分别对应调整x轴的最小值最大值和y轴的最小值最大值plt.show()第二种方法:import numpy as npimport matplotli...原创 2020-03-12 15:19:15 · 379 阅读 · 0 评论 -
matplotlib图例
一、import numpy as npimport matplotlib.pyplot as pltx=np.arange(0,11,1)plt.plot(x,x2)plt.plot(x,x3)plt.plot(x,x*4)plt.legend([‘Normal’,‘Fast’,‘Faster’],loc=2,ncol=3) #ncol表示有多少列plt.show()二...原创 2020-03-12 15:10:26 · 172 阅读 · 0 评论 -
matplotlib网格
一、举例(一)import numpy as npimport matplotlib.pyplot as plty=np.arange(1,5)plt.plot(y,y2)plt.grid(True,color=‘r’,linewidth=‘0.5’,linestyle=’-.’)plt.show()(二)面向对象的方法import numpy as npimport mat...原创 2020-03-12 14:32:16 · 283 阅读 · 0 评论 -
mabplotlib子图
一、mabplotlib对象(一)FigureCanvas画布(二)Figure图(三)Axes坐标轴二、实践(一)fig=plt.figure()1、figure实例2、可以添加Axes实例(二)ax=fig.add_subplot(111)1、返回Axes实例2、参数一,子图总行数3、参数二,子图总列数4、参数三,子图位置5、在Figure上添加Axes的常用方法...原创 2020-03-12 11:31:37 · 190 阅读 · 0 评论 -
面向对象 VS Matlab Style
一、三种方式简介(一)pyplot:经典高层封装(二)pylab:将matplotlib和Numpy合并的模块,模拟Matlab的编程环境(三)面向对象的方式:matplotlib的精髓,更基础和底层的方式二、三种方式优劣pyplot:简单易用。交互使用时方便,可以根据命令实时作图,但底层定制能力不足pylab:完全封装,环境最接近Matlab。不推荐使用面向对象的方式:接近matp...原创 2020-03-12 10:59:58 · 269 阅读 · 0 评论 -
matplotlib颜色和样式
一、颜色(一)八种内建默认颜色缩写b:blueg:greenr:redc:cyanm:magentay:yellowk:blackw:white(二)其他颜色表示方法(颜色的代码可以直接在网上搜颜色代码即可查询到)1、灰色阴影2、html十六进制3、RGB元组import numpy as npimport matplotlib.pyplot as plty=np....原创 2020-03-12 10:47:46 · 510 阅读 · 0 评论 -
matplotlib箱形图
一、概念(一)Box-plot又叫做盒须图、盒式图或箱线图(二)是一种用作显示一组数据分散情况资料的统计图(三)上边缘,上四分位数,中位数,下四分位数,下边缘,异常值二、实践(一)举例1、import numpy as npimport matplotlib.pyplot as pltnp.random.seed(100)data=np.random.normal(size=...原创 2020-03-12 09:22:06 · 760 阅读 · 0 评论 -
matplotlib饼状图
一、概念(一)饼状图显示一个数据系列中各项的大小与各项总和的比例(二)饼状图中数据点显示为整个饼状图的百分比(三)如前十大品牌占市场份额图二、实践(一)举例import numpy as npimport matplotlib.pyplot as pltlabels=‘A’,‘B’,‘C’,‘D’fracs=[15,30,45,10]explode=[0,0.05,0,0] ...原创 2020-03-11 17:15:06 · 379 阅读 · 0 评论 -
matplotlib直方图
一、概念(一)由一系列高度不等的纵向条形组成,表示数据分布的情况(二)例如某年级同学的身高分布情况(三)注意和条形图的区别直方图:通常用来显示连续性的竖直型数据,例如身高,身高可以是连续性的数据,分组可以用连续的方式分组,并且可以是自定义的条形图:通常是用来展示不同类别的数据,而且这个类别通常是不能自定义,而且是不连续的。二、实践(一)举例1、单变量垂直直方图import num...原创 2020-03-11 16:59:15 · 381 阅读 · 0 评论 -
matplotlib条形图
一、概念(一)以长方形的长度为变量的统计图表(二)用来比较多个项目分类的数据大小(三)通常利用于较小的数据集分析(四)例如不同季度的销量、不同国家的人口等二、实践(一)举例1、垂直条形图import numpy as npimport matplotlib.pyplot as pltimport matplotlib.dates as mdatesN=5y=[20,10,3...原创 2020-03-11 16:23:15 · 293 阅读 · 0 评论 -
matplotlib折线图
一、概念(一)折线图是用直线段将各数据连接起来组成的图形(二)常用来观察数据随时间变化的趋势(三)例如股票价格、温度变化等等二、实践(一)举例1、二次曲线图例如:import numpy as npimport matplotlib.pyplot as pltx=np.linspace(-10,10,100)y=x**2plt.plot(x,y)plt.show()2...原创 2020-03-11 15:33:09 · 230 阅读 · 0 评论 -
matplotlib散点图
一、概念(一)散点图显示两组数据的值,每个点的坐标位置由变量的值来决定(二)由一组不连接的点完成,用于观察两种变量的相关性(三)例如身高-体重、温度-维度等等二、实践(一)举例1、身高-体重2、正相关、负相关、不相关正相关:import numpy as npimport matplotlib.pyplot as pltheight=[161,170,182,175,173,...原创 2020-03-11 10:46:08 · 644 阅读 · 0 评论 -
Numpy简介
一、Numpy是什么(一)是python的开源的数值计算扩展(二)可用来存储和处理大型矩阵,比python自身数据结构要高效(三)Numpy将python变成一种免费的强大的Matlab系统二、核心数据对象ndarray(可理解为矩阵)(一)创建1、从python的基础数据对象转化例如:import numpy as npa=[1,2,3,4]aOut[4]: [1, 2, ...原创 2020-03-11 10:09:20 · 522 阅读 · 0 评论 -
pandas描述性统计与计算
一、汇总统计及其方法原创 2020-03-09 11:15:49 · 289 阅读 · 0 评论 -
pandas的基本功能
一、重建索引(一)reindex(行索引)1、是pandas对象的重要方法,用于创建一个符合新索引的新对象,注意:Series调用reindex方法时,会将数据按照新的索引进行排列,如果某个索引值之前并不存在,则会引入缺失值。import pandas as pdpassion=pd.Series([4.5,7.2,-5.3,3.6],index=[‘d’,‘b’,‘a’,‘c’])pr...原创 2020-03-08 17:25:19 · 924 阅读 · 0 评论 -
pandas数据结构介绍
一、Series(一)定义是一种一维的数组型对象,包含了一个值序列,并且包含了数据标签,称为索引。Series可以认为它是一个长度固定且有序的字典,因为它将索引值和数据值按位置配对。(二)创建第一种方式:默认的索引import pandas as pdx = pd.Series([3,4,8,7])print(x)返回值为0 31 42 83 7d...原创 2020-03-08 11:08:01 · 741 阅读 · 0 评论 -
pandas入门
一、定义pandas是Python里分析结构化数据的工具集。基础是numpy:高性能矩阵运算图形库matplotlib:提供数据可视化二、作用结构化数据分析、数据挖掘...原创 2020-03-07 15:08:44 · 112 阅读 · 0 评论 -
numpy的 copy & deep copy
import numpy as npa=np.arange(4)b=ac=ad=b这样的赋值实质上这几个数都是a,当a改变的时候其他的各个数都会跟着改变,如果想不随着a的改变而改变则应该这样赋值:b=a.copy()...原创 2020-03-06 17:59:31 · 277 阅读 · 0 评论 -
numpy的 array分割
一、对列进行等距分割import numpy as npa=np.arange(12).reshape((3,4))print(np.split(a,2,axis=1)) #纵向分成2块二、对行进行等距分割import numpy as npa=np.arange(12).reshape((3,4))print(np.split(a,3,axis=0)) ...原创 2020-03-06 17:52:05 · 567 阅读 · 0 评论 -
numpy的 array 合并
一、vertical stack垂直合并import numpy as npA=np.array([1,1,1])B=np.array([2,2,2])print(np.vstack((A,B)))返回值[[1 1 1][2 2 2]]二、horizontal stack水平合并import numpy as npA=np.array([1,1,1])B=np.array([...原创 2020-03-06 17:33:03 · 325 阅读 · 0 评论 -
numpy的基础运算
一、两个数组相加(相加相乘相除以此类推)import numpy as npa = np.array([10,20,30,40])b = np.arange(4)print(a,b)c=a-bprint©返回值为[10 20 30 40][ 0 1 2 3][10 19 28 37]二、正余弦函数import numpy as npa = np.array(...原创 2020-03-06 15:52:42 · 568 阅读 · 0 评论 -
array的创建
例如:一、import numpy as nparray = np.array([[1,2,3],[2,3,4]]) #把列表转换成矩阵print(array)print(‘number of dim:’,array.ndim) #矩阵的维度print(‘shape:’,array.shape) #矩阵的形状,返回值为s...原创 2020-03-06 13:43:24 · 443 阅读 · 0 评论 -
二叉树的深度遍历
一、深度优先遍历对于一棵二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。二、二叉树的深度遍历的三种方法这三种方法常被用于访问树的节点,它们之间的不同在于访问每个节点的次序不同(一)先序遍历:先访问根节点,然后递归使用先序遍历访问左子树,再递归使用先序遍历右子树根节点->左子树->右子树(二)中序遍历:递归使用中...原创 2020-02-29 16:34:34 · 1820 阅读 · 0 评论 -
二叉树及其广度遍历
一、基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二、二叉树的特性(一)在二叉树的第i层上最多有2^(i-1)个节点(i>0)(二)深度为k的二叉树最多有2^k-1个节点(k>0)(三)对于任意一棵二叉树,如果其叶节点数为N0,而度数为2的节点总数为N2,则N0=N2+1(四)...原创 2020-02-29 15:27:04 · 268 阅读 · 0 评论 -
树的基本概念
一、树的概念树(Tree)是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。之所以把它叫做树,是因为看起来像一棵倒挂的树,根朝上,叶朝下。二、树的特点(一)每个节点有0个或多个子节点(二)没有父节点的节点称为根节点(三)每一个非根节点有且只有一个父节点(四)除了根节点外,每...原创 2020-02-29 11:12:51 · 1257 阅读 · 0 评论 -
搜索
一、定义搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的。二、常见的搜索方法(一)顺序查找(二)二分法查找(三)二叉树查找(四)哈希查找三、二分法查找(一)定义二分法查找又称为折半查找,优点是比较次数少,查找速度快,平均性能好;缺点是要求待查表为有序表(即支持下标索引,即只能是有序的顺序表),且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁...原创 2020-02-28 21:11:08 · 136 阅读 · 0 评论 -
常见排序算法效率比较
原创 2020-02-28 16:07:28 · 196 阅读 · 0 评论 -
归并排序
一、定义归并排序(Merge Sort)是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。二、原理将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。三、时间复杂度(一)最优时间复杂度:O(nlogn)(二)最坏时间复...原创 2020-02-28 16:04:43 · 119 阅读 · 0 评论 -
快速排序
一、定义快速排序(Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。二、原理(一)从数列中挑出一个元素,称为“基准”(pivot)(二)重新排序数列,...原创 2020-02-28 09:30:29 · 191 阅读 · 0 评论 -
希尔排序
一、概念希尔排序(Shell Sort)是插入排序的一种,也称为缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。二、原理将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步...原创 2020-02-27 21:31:18 · 187 阅读 · 0 评论 -
插入排序
一、概念插入排序(Insert Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。二、时间复杂度(一)最优时间复杂度:O(n)(升序排列,序列已经处于升序状态)(二)最坏时间复杂度:O(n^2)(三)稳定性:稳...原创 2020-02-27 12:59:39 · 184 阅读 · 0 评论