Python

Python 实现elasticsearch group by

es实现聚合es通过agg实现聚合,详情可见es文档有时候查询es数据的时候可能需要实现多字段groupby的功能,例如:SELECTsum(item_count)fromAgroupbyfield1,field2,field3要实现多个维度的聚合,需要嵌套的agg查询语句:{"query":{},"aggs":{"field1":{"terms":{"field":"field1","size":2147483647#设置一个大的分桶数,防止一次统计不完

系统 2019-09-27 17:51:32 1875

Python

python实现串口自动触发工作的示例

最近在一个python工具中需要实现串口自动触发工作的功能,之前只在winform上面实现,今天使用python试试。这里简单记一下:首先用wxpython实现一个Button,点击事件绑定函数OnButtonAutoStopAllself.button_autoStopAll=wx.Button(id=wxID_FRAME1BUTTONAUTOSTARTALL,label=u'AUTOSTOPALL',name='button_autoStop',par

系统 2019-09-27 17:50:43 1875

Python

使用Python制作获取网站目录的图形化程序

1.pyqt4写的界面find_ui.py#-*-coding:utf-8-*-fromPyQt4importQtCore,QtGuitry:_fromUtf8=QtCore.QString.fromUtf8exceptAttributeError:def_fromUtf8(s):returnstry:_encoding=QtGui.QApplication.UnicodeUTF8def_translate(context,text,disambig):r

系统 2019-09-27 17:48:21 1875

Python

python append、extend与insert的区别

最近在自学Python语言,看到向列表增加更多数据时被append(),extend(),insert()方法绕晕了。append和extend都只需要一个参数,并且自动添加到数组末尾,如果需要添加多个,可用数组嵌套,但是append是将嵌套后的数组作为一个对象,extend是将嵌套的数组内容作为多个对象,添加到原数组中作为编程0基础的小白,觉得有必要自己再梳理一遍:1.append()方法是指在列表末尾增加一个数据项。例如:在students列表末尾增加

系统 2019-09-27 17:37:54 1875

Python

Linux下搭建Spark 的 Python 编程环境的方法

Spark编程环境Spark可以独立安装使用,也可以和Hadoop一起安装使用。在安装Spark之前,首先确保你的电脑上已经安装了Java8或者更高的版本。Spark安装访问Spark下载页面,并选择最新版本的Spark直接下载,当前的最新版本是2.4.2。下载好之后需要解压缩到安装文件夹中,看自己的喜好,我们是安装到了/opt目录下。tar-xzfspark-2.4.2-bin-hadoop2.7.tgzmvspark-2.4.2-bin-hadoop2

系统 2019-09-27 17:52:49 1874

Python

为什么从Python 3.6开始字典有序并效率更高

在Python3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面。但是从Python3.6开始,字典是变成有顺序的了。你先插入键值对A,后插入键值对B,那么当你打印Keys列表的时候,你就会发现B在A的后面。不仅如此,从Python3.6开始,下面的三种遍历操作,效率要高于Python3.5之前:forkeyin字典forvaluein字典.values()forkey

系统 2019-09-27 17:52:03 1874

Python

用Python徒手撸一个股票回测框架

通过纯Python完成股票回测框架的搭建。什么是回测框架?无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性。代码地址在最后。本项目并不是一个已完善的项目,还在不断的完善。回测框架回测框架应该至少包含两个部分,回测类,交易类.回

系统 2019-09-27 17:51:37 1874

Python

python如何给字典的键对应的值为字典项的字典赋值

问题1:需要得到一个类似{“demo”:{“key”:”value”}}这样格式的字典dic。dic=dict()dic_temp=dict()dic_temp={"key":"value"}dic["demo"]=dic_temp问题2:创建一个多值映射字典.。d={}forkey,valueinpairs:ifkeynotind:d[key]=[]d[key].append(value)问题3:需要得到一个类似[{“id”:1,“text”:“Root

系统 2019-09-27 17:48:04 1874

Python

使用 Python 处理 JSON 格式的数据

如果你不希望从头开始创造一种数据格式来存放数据,JSON是一个很好的选择。如果你对Python有所了解,就更加事半功倍了。下面就来介绍一下如何使用Python处理JSON数据。JSON的全称是JavaScript对象表示法JavaScriptObjectNotation。这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了一种被广泛使用的数据格式。另外,不要因为JSON名称而望文生义,JSON并不仅仅在JavaScript中使用,它也可以在其它

系统 2019-09-27 17:47:24 1874

Python

Python中使用双下划线防止类属性被覆盖问题

在使用Python编写面向对象的代码时,我们会常常使用“继承”这种开发方式。例如下面这一段代码:classInfo:def__init__(self):passdefcalc_age(self):print('我是父类的方法')classPeopleInfo(Info):def__init__(self):super().__init__()defcalc_age(self):print(123456)如果你使用PeopleInfo初始化一个对象,然后调用

系统 2019-09-27 17:46:07 1874

Python

linux下python3连接mysql数据库问题

python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb1.安装pymysqlpymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysqlpipinstallpymysql32.使用pymysql在我们需要使用数据库的.py文件开头添加下面两行importpymysqlpymysql.install_as_MySQLdb()第一行

系统 2019-09-27 17:38:08 1874

Python

Python with用法:自动关闭文件进程

实际上,Python提供了with语句来管理资源关闭。比如可以把打开的文件放在with语句中,这样with语句就会帮我们自动关闭文件。with语句的语法格式如下:withcontextexpression[astarget(s)]:with代码块在上面的语法格式中,context_expression用于创建可自动关闭的资源。例如,程序使用with语句来读取文件:importcodecs#使用with语句打开文件,该语句会负责关闭文件withcodecs.

系统 2019-09-27 17:38:03 1874

Python

Python的Django框架安装全攻略

Python安装Django本身是纯Python编写的,所以安装框架的第一步是确保你已经安装了Python。Python版本核心Django框架可以工作在2.3至2.6(包括2.3和2.6)之间的任何Python版本。Django的可选GIS(地理信息系统)支持需要Python2.4到2.6。如果你不确定要安装Python的什么版本,并且你完全拿不定主意的话,那就选2.x系列的最新版本吧。版本2.6。虽然Django在2.3至2.6版之间的任意Python

系统 2019-09-27 17:37:57 1874

Python

Python 爬虫多线程详解及实例代码

python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用。虽然python的多线程受GIL限制,并不是真正的多线程,但是对于I/O密集型计算还是能明显提高效率,比如说爬虫。下面用一个实例来验证多线程的效率。代码只涉及页面获取,并没有解析出来。#-*-coding:utf-8-*-importurllib2,timeim

系统 2019-09-27 17:37:56 1874

Python

Python 读取用户指令和格式化打印实现解析

一、读取用户指令当你的程序要接收用户输入的指令时,可以用input函数:name=input("请输入你的名字:")print("Hi"+name)程序中只要有input函数就会等待用户输入完并按回车键之后才会继续往下执行代码注:input()函数接收得到的值只是字符串,即使你输入的是数字或者其他数据类型的值,它也会把数字按照字符串处理,即接收得到值只会字符串。二、格式化打印假设现在需要打印出以下格式的内容,该怎么实现呢?------------Infom

系统 2019-09-27 17:54:32 1873