Python-杂篇
Icoding_F2014
相信代码可以变化世界
展开
-
Python 编码格式
以下是常见的编码格式:!!!一个一个试试! 编码名称 用途 utf8 所有语言 gbk 简体中文 gb2312 简体中文 gb18030 简体中文 big5 繁体中文 big5hkscs 繁体中文原创 2016-10-01 01:46:33 · 408 阅读 · 0 评论 -
numpy 函数里面的axis参数的含义
前言numpy支持对矩阵和数组进行运算,因此很多numpy的很多运算都需要指定操作的维数参数axis(当然这些axis都有带默认值的),本博客以numpy.sum求和函数为例,具体分析axis参数不同取值下的含义先说结论设 numpy.sum的输入矩阵为a. numpy.sum的返回矩阵为rst. 则矩阵a的形状为:sp=numpy.shape(a),例如sp=[m,n,p,q···] rst的原创 2017-10-03 01:45:13 · 6847 阅读 · 0 评论 -
Python更快的解析JSON大文件
提出问题 今天用python的simplejson库解析一个 >200MB 的JSON文件,发现一次decode/encode都得要 >10s,这个在我开来,实在太慢了,有没有更快的库了?先给出我的简单测试结果 json大小:245MB 测试方法:read文件内容,然后一次decode, 一次encode 解释器 simplejson json ujson pypy 40转载 2017-10-27 01:03:43 · 9327 阅读 · 0 评论 -
numpy生成随机数random模块
import numpy as np 常用函数:rand(d0, d1, …, dn) 生成形状为[d0,d1,d2,…,dn]的随机数(0-1)>>> np.random.rand(1,3)array([[ 0.10761056, 0.26262689, 0.83970223]])randn(d0, d1, …, dn) rand normal 生成形状为[d0,d1,…,dn]的标准原创 2017-10-04 18:32:34 · 1140 阅读 · 0 评论 -
numpy 切片操作
numpy在处理数据的时候,经常会有切片操作,如提取指定几行的数据或者几列的数据,本文记录一些典型的切片方法以备日后查看。一维数组的切片:数组[start:end:step] 从start到end,以step为步长的元素 且:start>>> b=np.random.randint(1,10,[10])>>> barray([6, 5, 2, 3, 9, 9, 3, 8, 5, 8])正向第原创 2017-10-05 11:05:39 · 4875 阅读 · 3 评论 -
机器学习、神经网络计算过程的矩阵化与向量化
为什么需要矩阵化向量化运算过程?numpy在内容实现的时候,对矩阵运行进行了优化,其速度飞快。如果我们使用的是原始的for循环也可以完成任务,但是频繁的使用for循环,将会大大的增加计算时间。 举个例子: 一个输入样本X由1000000个特征组成的行向量,现在想计算 的值。其中 那么有两种写法:import numpy as npimport timedef mod1(X):原创 2017-10-11 15:01:41 · 4821 阅读 · 0 评论 -
rest api的编写
0.What is rest : REST(英文:Representational State Transfer,又称具象状态传输)是Roy Thomas Fielding博士于2000年在他的博士论文[1] 中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。 目前在三种主流的Web服务实现方案中,因为REST模式与复杂的SOAP和XML-R原创 2017-10-21 16:47:45 · 1163 阅读 · 0 评论 -
Python lambda 表达式
python中lamba表达式其实就是简单匿名函数的一种简写方式。 lambda的基本用法是:lambda 参数列表:待返回的表达式它等价于:def ___unkonow__(参数列表): return 待返回的表达式例如:def add(a,b): return a+bprint(add(a,b))写做lambda表达式就是:add=lambda a,b:a+bprint(原创 2017-10-30 13:53:12 · 572 阅读 · 0 评论 -
Python 中list ,set,dict的大规模查找效率
很多时候我们可能要频繁的进行元素的find 或in操作,本人一直天真的以为python的list做了hash,通过红黑树来高效查找···直到今天我真正来测试它和set,dict的查找效率时,才发现自已想太多了!!!! 先看代码:__author__ = 'jmh081701'import numpyimport timel=[]sl=set()dl=dict()r=numpy.ran原创 2017-11-08 17:43:16 · 34777 阅读 · 6 评论 -
brainproduct recorder 远程采集脑电波实时数据
brainproduct 是一家专门提供脑电图采集、放大、记录、分析 服务的德国厂商。其recoder 系列产品十分厉害,在临床中使用的十分广泛。recoder运行起来就是类似于这个样子: 但是,对于我们程序开发人员来说,我们希望能够采集可操作的实时的脑波数据。可操作是指我们希望直接得到设备采集过来的实时原始数据,基于这些原始数据,我们可以做进一步的分析 比如使用人工神经网络对EGG进行建模等等。原创 2017-10-14 09:20:10 · 10247 阅读 · 11 评论 -
Apriori算法--关联分析算法(一)
在实际生产生活我们经常会遇到一些“关联分析”(Association Analyse)的任务。举几个实际例子。1.人们的购物清单里面的各个商品有没有什么关联呢?就像下面这个购物清单写的那样子,右边是各个顾客所买的东西。 有的时候我们想问,顾客购买商品的时候会不会多个商品组合起来买呢?顾客会不会倾向于豆奶和尿布这两样商品一起买?我们怎么从一份购物清单里面发现这种往往会一起出现的商品组合呢?2.现在原创 2017-10-16 15:49:49 · 23846 阅读 · 2 评论 -
Apriori 算法实现--结合FP树
#coding:utf8__author__ = 'jmh081701'import numpy as npclass FPTree: index={} def __init__(self): self.count=1 self.name ="" self.children=[] self.parent=[]原创 2017-10-23 17:57:15 · 472 阅读 · 0 评论 -
python 基本socket
socket()函数Python 中,我们用 socket()函数来创建套接字,语法格式如下:socket.socket([family[, type[, proto]]])参数 family: 套接字家族可以使AF_UNIX或者AF_INET type: 套接字类型可以根据是面向连接的还是非连接分为SOCK_STREAM或SOCK_DGRAM protocol: 一般不填默认为0.Socke原创 2017-10-16 23:29:40 · 382 阅读 · 0 评论 -
已知rsa的模数和指数 生成pem公钥文件
1.安装cryptography sudo pip3 install cryptography2.代码#coding:utf8# pupulate-pub-key-v3.py#from cryptography.hazmat.backends import default_backendfrom cryptography.hazmat.primitives.asymmetric impor原创 2017-12-15 17:09:16 · 8912 阅读 · 0 评论 -
K-means聚类(一)
聚类:聚类(clustering)是一种无监督学习(也就是说没有label,因为我们的目标就是为了生成label.),它将相似的样本归类成同一簇,而将不相似的样本归类到其它簇中。 簇识别(cluster indentify)是为了发现有那些簇,同时各种簇里面到底有什么。K-means是一种聚类方法,K的含义是可以生成K个簇(K个类别),而每个类别会有一个中心(centro),这个簇中心是根据簇内元原创 2017-09-30 21:23:22 · 638 阅读 · 0 评论 -
Tensorflow Python 2.7搭建
环境:Ubuntu 17.04 (GNU/Linux 4.10.0-26-generic x86_64)安装tensorflow的Python 2.7 版本:sudo apt-get install python-pip -ysudo pip install tensorflow测试: python import tensorflow as tf 没报错即可。原创 2017-09-20 23:36:00 · 7337 阅读 · 0 评论 -
Tensorflow :Unsuccessful TensorSliceReader constructor: Failed to find any matching files
Tensorflow最新的版本,在使用Saver载入模型参数时会报错:Tensorflow :Unsuccessful TensorSliceReader constructor: Failed to find any matching files意思是说找不到模型保存的文件。 在Saver.save中我们传入sess,modelpath 例如: dir=”D:\data\Iris\” sa原创 2017-09-02 11:01:12 · 11265 阅读 · 7 评论 -
Python Selenium在Linux环境下的搭建
引言: 项目在扒取淘宝网上商品的过程中遇到一个问题:淘宝商品界面的url信息是动态生成的,直接使用传统的urllib+re看来是无法得到我想要的东西.本来想换一个电商网站来扒取,但是想到以后还可能会遇到类似的要处理动态页面的场景,所以还是来研究一下怎么来写一个能够解析javascripe的spider.在网上查阅了大部分资料后,听说selenium这个原本用来做web自动测试的工具很强大的原创 2015-11-02 01:16:27 · 1049 阅读 · 0 评论 -
Tensorflow 基础(二)
Tensorflow 1.2 tensorflow里面的tensor在tensorflow 里面,所有的数据都是以张量tensor的形式存在的。张量其实就是n维矩阵的抽象。一维的张量是向量,二维的张量是矩阵。tensorflow的数据类型tensorflow 可接受python自带的数据类型Tensorflow可以接受python数值,布尔值,字符串或由它们构成的列表。单个数值将被转化为标量,数值原创 2017-08-03 00:06:55 · 1644 阅读 · 0 评论 -
python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
一、JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言转载 2017-08-10 21:19:51 · 1036 阅读 · 0 评论 -
CNN学习(三)—Tensorflow 进行MNIST手写体识别
前言本节,我们牛刀小试一下,使用Tensor的构建一个简单的六层CNN网络来对MNIST手写体数据集进行训练。网络结构:代码__author__ = 'jmh081701'#coding:utf-8import tensorflow as tfimport numpy as npimport pandas as pdfrom tensorflow.examples.tutorials.m原创 2017-09-04 13:09:34 · 1098 阅读 · 0 评论 -
类比C++ 学习Python的class
前言本博文介绍一些学习python类的基础知识,以备遗忘后从新找回。 与C++的OOP一样,python的类也应该有封装、多态、继承性,也应该有构造函数、析构函数、成员函数、成员变量等内容。最基本的类class Super: pass这样就定义了一个基本类 Super.在python 里面定义类需要使用关键词class.类与实例C++中 静态方法、静态成员属于类,而使用this指针的成员函原创 2017-09-22 23:53:08 · 582 阅读 · 0 评论 -
python使用pandas读取数据文件
可以使用pandas来方便的读取csv文件,免去自己处理csv时的琐屑问题。安装sudo pip install pandas或者直接使用pycharm的Setting->Interpreter->Tool直接安装读取csv文件假设我们有如下的数据格式的tests.csv: ID Name Sex Age 1 amy male 12 2 ken female原创 2017-08-30 14:07:05 · 8046 阅读 · 0 评论 -
pip3~pip下载慢
pip3,pip有时会下载的慢成狗,可能是源的问题。 解决方法: python3:pip3 install 包名 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.compython2:pip install 包名 -i http://mirrors.aliyun.com/pypi/simple -原创 2017-09-25 22:58:27 · 2724 阅读 · 0 评论 -
python SyntaxError: Non-ASCII character '\xe4' in file
前言考虑到项目需要使用一些非结构化的数据,当然这些数据也可以通过结构化的形式在SQL数据库表示,但是我觉得很麻烦,所以搭建一个芒果库来存储数据。On the other hand,MongoDB很简单呀!对Pyhthon的字典这种数据结构无缝支持呀,美滋滋! 本文旨在快速掌握MOngoDB 基本用法,不是系统全面的教程!具体来说是PyMongoDB,因为芒果支持很多编程语言的。女朋友问我什么是Mo原创 2017-09-24 21:25:33 · 1376 阅读 · 0 评论 -
Selenium RC 的工作原理
最近在看Selenium,顺便写一些翻译文档,方便以后再用。Selenium RC的工作原理 首先,我们介绍一下Selenium RC各组成成分之间是如何执行的,还有RC在运行用户程序的时候这些成分各自起到什么样的作用。RC 组成成分: **•Selenium Server** 用于启动和关闭浏览器,解析和运行测试程序发送过来的Selehttp://wnium命令(Selenium Command),也翻译 2015-11-03 00:28:07 · 971 阅读 · 0 评论 -
numpy里面的broadcast
前言numpy 很好的支持向量和矩阵的运算,broadcast 它很灵活和智能,有时它会自动帮我们完成一些事情。先来个直观的认识import numpy as npa=np.array([[1,2,3],[4,5,6]])b=np.array([[1,1,1],[1,1,1]])print(a+b)输出:[[2 3 4] [4 5 6]]a和b都是2x3的矩阵,把他们相加,numpy让各个原创 2017-09-27 15:27:05 · 915 阅读 · 0 评论 -
selenium 自动抢课——电子科大自动抢课脚本
使用方法:0.安装selenium1.username改成自已的学号 pwd改成自已的密码2.coursePath修改成自已想要的课的xpath路径,得到xpath的方法为 使用chrome打开选课页面,找到所选课程,右键"检查",然后再调试界面默认选择的蓝色区域右键copy->copy xpath.即可 如果xpath中间有"或其它特殊符号,在xpath路径里面的"前加\原创 2017-09-11 14:40:54 · 15372 阅读 · 8 评论 -
Tensorflow:softmax处理Iris鸾尾花分类
经典的分类模型,鸾尾花的分类。 数据集样例: length sepal width petal length petal width class 5.1 3.5 1.4 0.2 Iris-setosa 4.9 3 1.4 0.2 Iris-versicolor 4.7 3.2 1.3 0.2 Iris-virginica原创 2017-09-02 11:13:18 · 3586 阅读 · 0 评论 -
CNN学习(一)
前言本系列文章介绍学习CNN的过程,并结合Tensorflow来使用CNN进行图像的识别CNN概述卷积神经网络是在普通的BP全连接的基础上发展而来的,CNN重点就为了解决BP全连接网络中因为网络权值参数过多而导致的无法训练的问题,CNN提出的局部连接、权值共享、池化技术都是出于减少网络参数的目的。如下图所示: 假如我们的网络模型是: 输入层->一层隐含层->输出层 样图是100原创 2017-09-03 11:12:17 · 1251 阅读 · 0 评论 -
PyQT调研报告
什么是PyQTQt是一个跨平台的C++应用程序开发框架,主要用于开发跨平台的GUI程序。Qt和MFC都 可以用于开发GUI桌面程序 ,但是QT的优势在于其强大的跨平台性。使用QT框架开发的GUI程序在其它平台经C++编译器重新编译即可正常运行。但是Qt不单单可以用于开发GUI程序,它还有跨平台的套接字接口,多媒体接口,数据库接口有等等。PyQt是Python2.x和Python3.x绑定QT应用框架原创 2017-12-29 17:36:36 · 1435 阅读 · 0 评论