python
小浩子7号
这个作者很懒,什么都没留下…
展开
-
Python 球员能力值绘制和K线图
#_*_ coding:utf-8 _*_import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesfrom datetime import datetimefrom datetime import timedeltaplt.style.use('ggplot')ability_size = 6ability_原创 2020-05-30 10:32:27 · 565 阅读 · 0 评论 -
Python可视化,散点-条形图
import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.patches import Polygonplt.style.use('ggplot')x = np.random.randn(200)y = x+np.random.randn(200)*0.5margin_border = 0.1width = 0.6margin_between = 0.02height = 0.2left_s = margin_bo原创 2020-05-12 19:38:27 · 139 阅读 · 0 评论 -
Python可视化 函数积分图
def func(x): return -(x-2)*(x-8)+40x = np.linspace(0, 10)y = func(x)fig, ax = plt.subplots()plt.plot(x, y, 'r', linewidth=2)a = 2b = 9ax.set_xticks([a, b])ax.set_yticks([])ax.set_xticklabels(['$a$', '$b$']) #给2 9 打上a b的标签plt.figtext(0.9, 0原创 2020-05-12 19:04:59 · 1371 阅读 · 0 评论 -
Python可视化注释,文字,Tex公式,区域填充,形状,美化样式,极坐标
在图上画出注释x = np.arange(-10, 11, 1)y = x*xplt.plot(x, y)plt.annotate('bootom', xy=(0, 1), xytext=(0, 20), arrowprops=dict(facecolor='r', frac=0.2, headwidth=30, width=20)) #注释的文字,xy是箭头的坐标,xytext注释的起始坐标plt.show()在图中加上文字,并更改相关参数x = np.ar原创 2020-05-12 11:04:03 · 369 阅读 · 0 评论 -
Python可视化 调整颜色和样式,编程方式,子图方式,创建多个子图,创建网格,创建图例,坐标轴范围调整,调整坐标轴刻度,添加坐标轴
八种自建默认颜色缩写b : blueg : greenr : redc : cyanm : magentay: magentay : yellowk :blackw:white其他颜色表示方法灰色阴影html 十六进制RGB元组用数字表示,代表灰色程度有多深y = np.arange(1, 5)plt.plot(y+1, color='0.5') #灰色阴影plt.plot(y+2, color='#FF00FF') #16进制plt.plot(y+3, color=(原创 2020-05-11 20:52:23 · 903 阅读 · 0 评论 -
Python的可视化直方图,饼状图,箱状图
直方图由一系列高度不等的纵向条形组成,表示数据分布的情况例如某年级的身高分布情况画出直方图有几个直方,是否对数据进行标准化(频率)个数除以总个数mu = 100sigma = 20x = mu + sigma * np.random.randn(2000)plt.hist(x, bins=10, color='red', normed=True)plt.show()用颜色的深浅来表示频率的大小x = np.random.randn(1000)+2y = np.random.ran原创 2020-05-11 10:13:34 · 513 阅读 · 0 评论 -
Python的可视化散点图,折线图,条形图
通过array转换成numpy格式import numpy as npa = [1, 2, 3, 4]x1 = np.array(a)Numpy内生函数转化x = np.arange(5)print(x)从硬盘中读取delimiter=’,'用逗号隔开,skiprows=1跳过第一行 ,usecols=(1, 4, 6)选取1,4,6列,unpack=True 把四列数据分开 open, close, v = np.loadtxt('000001.csv', delimiter=','原创 2020-05-11 09:26:27 · 615 阅读 · 0 评论 -
Python Pandas股票分析
1.index_col 默认值(index_col = None)——重新设置一列成为index值2.index_col=False——重新设置一列成为index值3.index_col=0——第一列为index值parse_dates参数:将csv中的时间字符串转换成日期格式data = pd.read_csv('600690.csv',index_col='Date', parse_...原创 2020-05-08 10:43:24 · 263 阅读 · 0 评论 -
Python Pandas时间序列和重采样
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom datetime import datetimefrom datetime import timedelta获取现在时间now = datetime.now()print(now)print(now.year, now.month, ...原创 2020-05-07 16:11:30 · 529 阅读 · 0 评论 -
Python Pandas的输入输出
读入文件名print(pd.read_csv('ex1.csv')) a b c d message0 1 2 3 4 hello1 5 6 7 8 world2 9 10 11 12 foo自己指定分隔符print(pd.read_table('ex1.csv', sep=','))如果文件里没有列名称p...原创 2020-05-07 12:16:11 · 202 阅读 · 0 评论 -
Python Pandas聚合运算
数据处理的最后一步为数据聚合,通常指的是转换数据,是每一个数组生成一个单一的数值。我们已经做过多种数据聚合操作,例如sum( )、mean( )和count( )。这些函数均是操作一组数据,得到的结果只有一个数值。然而,对数据进行分类等聚合操作更为正式,对数据的控制力更强。对分组进行一系列的操作,内置聚合函数df = pd.DataFrame({'key1': ['a', 'a', 'b', ...原创 2020-05-07 11:45:04 · 249 阅读 · 0 评论 -
Python Pandas的分组运算
分组运算分为三步:拆分 分组 运算拆分:根据什么进行分组应用:每个分组进行什么样的运算合并:把每个分组的计算结果合并起来df = pd.DataFrame({'key1': ['a', 'a', 'b', 'b', 'a'], 'key2': ['one', 'two', 'one', 'two', 'one'], ...原创 2020-05-07 10:52:48 · 461 阅读 · 0 评论 -
Python pandas索引
一、重复索引查看是否是相同索引s = pd.Series(np.random.rand(6), index=list('abcbda'))a 0.848267b 0.704451c 0.326481b 0.897240d 0.220018a 0.565038print(s.index.is_unique)False把两个相同的索引进...原创 2020-05-06 12:17:31 · 144 阅读 · 0 评论 -
Python Pandas基础运算
重新修改索引s = pd.Series([1, 3, 5, 6, 8], index=list('acefh'))print(s.reindex(list('abcdefgh')))a 1.0b NaNc 3.0d NaNe 5.0f 6.0g NaNh 8.0把默认数字填充为0print(s.reindex(list('...原创 2020-04-30 17:21:50 · 244 阅读 · 0 评论 -
Python pandas 核心数据结构
一、用字典表创建Series数据一维d = {'a': 0, 'b': 1, 'd':3}s = pd.Series(d, index=list('abcd'))特性:可以进行索引print(s[0])print(s[:2])print(s[1:3])-0.8877610652118120 -0.8877611 0.904833dtype: float641 ...原创 2020-04-30 11:57:58 · 182 阅读 · 0 评论 -
Pyhon MovieLens 电影数据分析
把用户信息,评分数据,电影数据创建出来unames = ['user_id', 'gender', 'age', 'occupation', 'zip']users = pd.read_table('users.dat', sep='::', header=None, names=unames) #用此函数来读取数据,用::进行分割,表头是空的rating_names = ['user...原创 2020-04-29 16:59:55 · 355 阅读 · 0 评论 -
Pandas
一、多重索引tuples = list(zip(*[['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'], ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two...原创 2020-04-29 15:09:57 · 138 阅读 · 0 评论 -
Python pandas操作
Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。1.创建seriesSeries (Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组。轴标签统称为索引。data 参数index 索引 索引值必须是唯一的和散列的,与数据的长度相同。 默认np.a...原创 2020-04-29 11:08:09 · 325 阅读 · 0 评论 -
Python numpy索引,合并,分割,复制
1.索引import numpy as np #将numpy简写成npa = np.arange(3, 15)print(a)print(a[3]) #一维下标索引b = np.arange(3, 15).reshape(3,4)print(b)print(b[2]) #索引二维数组的行数print(b[2][2]) #索引二维数组的第几行第几列print(b[2,...原创 2020-04-25 15:47:38 · 891 阅读 · 0 评论 -
Python numpy基础运算
1.两个数组做减法import numpy as np #将numpy简写成npa = np.array([10,20,30])b = np.arange(3)print(a,b)print(a-b)[10 20 30] [0 1 2][10 19 28]2.对数组中每个值求sin cos tana = np.array([10,20,30])s = np.sin(a)...原创 2020-04-25 10:57:46 · 183 阅读 · 0 评论 -
Python numpy的简单操作
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 ...原创 2020-04-25 10:18:18 · 142 阅读 · 0 评论 -
Python 二叉树
一、二叉树的基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二、二叉树的性质(特性)性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0)性质2: 深度为k的二叉树至多有2^k - 1个结点(k>0)性质3: 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为...原创 2020-04-23 00:28:17 · 235 阅读 · 0 评论 -
Python 树
一、树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点...原创 2020-04-19 19:57:37 · 136 阅读 · 0 评论 -
Python的二分查找
搜索搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找一 、 二分法查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置...转载 2020-04-19 17:54:15 · 173 阅读 · 0 评论 -
Python归并排序及常见排序算法的比较
一、归并排序归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。二、Python代码实现def merge_sort(alist): """归并排序"""...原创 2020-04-19 17:20:03 · 192 阅读 · 0 评论 -
Python的希尔排序
一、希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序过程希尔排序的基本思想是...原创 2020-04-19 10:51:47 · 174 阅读 · 0 评论 -
Python的排序算法
一、排序算法的稳定性排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。(4, 1) (3, 1) (3, 7)(5, 6)...原创 2020-04-16 16:35:07 · 78 阅读 · 0 评论 -
Python栈和队列和双端队列
一、栈的基本概念栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, ...原创 2020-04-15 15:58:24 · 320 阅读 · 0 评论 -
Python单向循环链表
一、单向循环链表定义单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。操作:is_empty() 判断链表是否为空length() 返回链表的长度travel() 遍历add(item) 在头部添加一个节点append(item) 在尾部添加一个节点insert(pos, item) 在指定位置pos添加节点remove(ite...原创 2020-04-15 10:51:54 · 187 阅读 · 0 评论 -
Python双向链表
一、双向链表概念双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。‘’二、双向链表代码实现 class Node(object): def __init__(self,item): self.item=item ...原创 2020-04-14 22:14:31 · 326 阅读 · 0 评论 -
Python链表
链表一、为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。二、代...原创 2020-04-13 20:35:23 · 215 阅读 · 0 评论 -
Python数据结构(一)
引入数据结构算法的概念算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。算法是独立存在的一种解决问题的方法和思想。对于算法而言,实现的语言并不重要,重要的是思想。算法可以有不同的语言描述实现版本(如C描述、C++描述、Pyth...原创 2020-04-09 15:45:16 · 145 阅读 · 0 评论 -
Python sqlite操作
import sqlite3conn=sqlite3.connect('db\\addressbook.db') #连接到数据库sql="select'*from LinkMan"result=c.execute(sql) #使用游标进行操作for row in result: print(row)二、添加数据import sqlite3conn=sqlite3....原创 2020-04-07 11:59:11 · 90 阅读 · 0 评论 -
csv文件读取操作
一、传统文件读取def txt_writed(): """写文本""" with open('data.txt','w',encoding='utf-8') as f: f.write('你好,python\n') lines=[ 'xx\n', 'yy\n', 'ss\n',...原创 2020-04-07 09:57:54 · 675 阅读 · 0 评论 -
并发编程
一、并发编程概念原创 2020-03-18 11:39:54 · 51 阅读 · 0 评论 -
Python正则表达式
一、正则表达式基本语法findall() 查找所有非重叠匹配项,返回列表listimport retex='Life consists 5 not in holding 6 good 8 cards. 'pattern=re.compile(r'\d+') #加上r 确保不用转义, \d+ 找出所有数字#1.方法一print(pattern.findall(tex)) ...原创 2020-02-10 21:14:01 · 108 阅读 · 0 评论 -
Python字符串
print(ord('c')) #获取c的位置print(chr(99)) #获取99对应的字符运行结果:99c编码与解码过程、s1='可口可乐'print(s1.encode('utf-8')) #编码过程s1_encode=b'\xe5\x8f\xaf\xe5\x8f\xa3\xe5\x8f\xaf\xe4\xb9\x90'print(s1_encode...原创 2020-02-06 17:54:39 · 426 阅读 · 0 评论 -
Python对象持久化
一、对象持久化对象持久化:如果要将当前在内存中计算的数据结果或者状态永久存储起,就要用到对象的持久化。文件的扁平化eval() 函数用来执行一个字符串表达式,并返回表达式的值。scores=[33,88,99]def write_data(): with open('data.txt','w',encoding='utf8') as f: f.write(str...原创 2020-02-06 17:16:14 · 669 阅读 · 0 评论 -
Python的小数的操作、random随机处理、日期和时间
一、Python的小数的操作import matha=520b=789123.457912c=-1234.789print(f'数值:{b:.2f}') #b保留两位小数print('{:.3f}'.format(b)) #b保留两位小数print(f'数值:{b:.2%}') #b以百分号的形式保留两位小数print(math.trunc(b)) #将b的小数点截断print...原创 2020-02-04 16:56:41 · 305 阅读 · 0 评论 -
Python unittest单元测试
一、单元测试import unittestdef add(x,y): return x+yclass Mytest(unittest.TestCase ): #Mytest子类继承 unittest.TestCase这个父类 def test_add(self): self.assertEqual(8,add(5,3)) #断言 8和调用函数add...原创 2020-02-04 16:23:21 · 193 阅读 · 0 评论