python
文章平均质量分 51
Nick_Spider
GitHub -> https://github.com/nickliqian
展开
-
flask使用jsonify序列化结果是报错:TypeError: Object of type float32 is not JSON serializable
1.引入使用flask jsonify返回序列化的结果时,提示TypeError: Object of type float32 is not JSON serializable。我返回的结果是paddle使用numpy直接产生的,格式类似这样:result = [ [ [ [372.0, 24.0], [780.0, 24.0], [780.0, 62.0], [372.0, 62.0] ], ['可行性研究报告一参考大纲', 0.95109123] ],原创 2022-02-21 16:04:25 · 1737 阅读 · 0 评论 -
centos安装python mysqlclient包报mysql_config no found、Python.h no found、gcc error解决
如果是报OSError: mysql_config not found,则先使用yum list installed | grep xx检查如下包的安装情况。yum list installed | grep gccyum list installed | grep mysqlyum list installed | grep mariadbyum list installed | grep python支持mysql_config是需要安装下面的软件的:gccgcc-c++python3原创 2020-12-12 20:08:32 · 783 阅读 · 2 评论 -
centos初始化安装python3虚拟环境指南
0 设置yum下载源为阿里云# 备份原yum源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 下载阿里云的repowget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 清理缓存sudo yum clean all# 生成新的缓存sudo yum makecache原创 2020-12-07 19:41:22 · 237 阅读 · 0 评论 -
n叉树结构的检索算法实现
使用python实现n叉树检索算法。n叉树结构基于现实业务,基本数据结构如下:[ { "id": "", "name": "公司1", "children": [ { "id": "", "name": "公司2", "children": [] } ] }]实现代码如下,使用了两个函数进行递归调用import jsondef find_text(obj, text):原创 2020-08-30 23:15:16 · 292 阅读 · 0 评论 -
bitmap算法的python实现
0 引入所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。本文使用python实现bitmap算法。由于算法储存数据的粒度到了位,因此代码中使用了很多位运算,先回顾一下python中的位运算操作。# 或运算>>> bin(10), bin(8)('0b1010', '0b1000')>>> bin(10 | 8)'0b1010'# 与预算&g原创 2020-07-31 17:42:01 · 2230 阅读 · 0 评论 -
PDF报告的结构化储存-使用百度云人工智能API识别图片中的表格
0 引入最近有需求需要把pdf上的内容自动录入到数据库,之前是人工录入的,效率很低。所以研究了一下pdf,上面基本上是整张图片,处于数据敏感我在网上随便找一张图,类似这样:假设想要把施工单位、项目负责人、验收结果等字段存到数据库,应该怎么做呢?用传统的文字识别,是不提供位置信息的,就算提供了,我们想要对上对应的key-value也得费九牛二虎之力。这里使用现成的方案,百度云人工智能API中的表格文字识别。1 表格识别先上链接:百度云表格文字识别文档地址为:文档首先根据文档申请API Ke原创 2020-06-02 20:29:08 · 1352 阅读 · 0 评论 -
使用Python创建websocket服务和客户端请求
1 WebSocket是啥本段来自 菜鸟教程-WebSocket。WebSocket 和HTTP一样,也是一种通讯协议,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。有很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的原创 2020-05-29 15:23:21 · 91241 阅读 · 11 评论 -
进程管理程序supervisor使用实践
;[inet_http_server][program:box_crawl] ;程序名称,终端控制时需要的标识command=/home/ubuntu3/.envs/box_crawl/bin/python3 /home/ubuntu3/project/box_crawl/manage.py runserver 0.0.0.0:9103 ; 运行程序的命令directory=/home/u...原创 2020-04-29 21:21:00 · 284 阅读 · 0 评论 -
python三种字符串匹配方式的效率对比
工作涉及到需要将一个超大文件按指定内容进行分割,这里测试一下python中的in,==和正则三种匹配方式的效率对比。import timeimport restring = "USE dataCombine;"s = time.time()for i in range(5000000): if "USE dataCombine;" in string: pas...原创 2020-04-09 09:42:28 · 3144 阅读 · 0 评论 -
基于pyspark图计算的算法实例
基于pyspark的图计算实例引入广度优先搜索连通分量强连通分量标签传播PageRank最短路径算法三角形计数引入图算法指利用特制的线条算图求得答案的一种简便算法。无向图、有向图和网络能运用很多常用的图算法,这些算法包括:各种遍历算法(这些遍历类似于树的遍历),寻找最短路径的算法,寻找网络中最低代价路径的算法,回答一些简单相关问题(例如,图是否是连通的,图中两个顶点间的最短路径是什么,等等)的...原创 2020-03-18 15:04:58 · 3447 阅读 · 1 评论 -
使用python读取neo4j中的数据
目前有需求需要对neo4j中的数据进行分析(一般是读到内存后跑脚本或者使用spark跑分布式),这里介绍一种较为简单和通用的方法。定义Cypher语句我们先写两个查询Cypher语句,目的是把我们要读取的数据的字段挑选出来。# 1MATCH (n) RETURN id(n) as id, labels(n) as labels第一个语句,我们返回所有节点的id和标签数据。这里并没有返回...原创 2020-03-17 17:45:17 · 5846 阅读 · 4 评论 -
基于pyspark GraphFrames实现图查询和计算
基于pyspark GraphFrames实现图查询和计算GraphFrames基本操作创建图展示顶点和边的数据统计顶点的入度和出度对顶点和边的数据进行分析搜索指定结构路径对搜索结果过滤多路径条件搜索匿名顶点和边设置路径不存在的条件有状态和无状态查询无状态查询有状态查询子图例一例二参考GraphFrames基本操作GraphFrames,该类库是构建在Spark DataFrames之上,它既...原创 2020-03-17 15:58:22 · 4341 阅读 · 0 评论 -
基于pyspark创建DataFrame的几种方法
基于pyspark创建DataFrame的几种方法pyspark创建DataFrameRDD和DataFrame使用二元组创建DataFrame使用键值对创建DataFrame使用rdd创建DataFrame基于rdd和ROW创建DataFrame基于rdd和StructType创建DataFrame基于pandas DataFrame创建pyspark DataFrame创建有序的DataFra...原创 2020-03-17 12:59:49 · 16307 阅读 · 0 评论 -
使用pyspark SQL处理MySQL中的数据
目录pyspark创建DataFrameRDD和DataFrame使用二元组创建DataFramepyspark连接mysqlpyspark SQL常用语法输出schema预览表统计数量输出列名称和字段类型选择列为选择的列赋予新名称按条件过滤构造新列增加行删除重复记录删除列删除缺失值行填充缺失值分组统计和计算函数计算描述性分析参考链接pyspark创建DataFrame为了便于操作,使用pys...原创 2020-03-17 10:48:25 · 1440 阅读 · 0 评论 -
使用python跑spark:windowns使用PySpark环境配置和基本操作
下载依赖首先需要下载hadoop和spark,解压,然后设置环境变量。HADOOP_HOME => /path/hadoopSPARK_HOME => /path/spark安装pyspark。pip install pyspark基本使用可以在shell终端,输入pyspark,有如下回显:输入以下指令进行测试,并创建SparkContext,SparkCont...原创 2020-03-11 18:00:06 · 1227 阅读 · 0 评论 -
《动手学深度学习》学习pytorch之softmax实现、FashionMNIST数据集训练
本文介绍以下几点:softmax从零实现softmax的简洁实现softmax从零实现导入包# import needed package%matplotlib inlinefrom IPython import displayimport matplotlib.pyplot as pltimport torchimport torchvisionimport torc...原创 2020-02-14 21:05:56 · 1251 阅读 · 0 评论 -
《动手学深度学习》学习pytorch之线性回归
本节主要讲解如下几点:pytorch的基本使用从零实现线性回归模型– 模型– 损失函数– 优化函数(随机梯度下降)线性回归模型基于pytorch的简洁实现pytorch相关的几个问题pytorch的基本使用创建矢量也可以叫沿用tensorflow的说法叫做张量import torchimport time# init variable a, b as 1000 di...原创 2020-02-14 20:31:05 · 289 阅读 · 0 评论 -
使用matplotlib和seaborn绘图的常用参数
plt.grid(b=True, ls=':', color='#606060') # 设置网格线:b控制网格线,ls设置网格线的样式plt.tick_params(labelsize=20) # 轴数值大小:labelsize设置数值展示大小plt.ylabel(y_field, fontsize=20, fontdict={"family": "SimHei"}) # y轴标题,大小...原创 2020-01-20 16:44:17 · 962 阅读 · 0 评论 -
pip安装ibmdb2很慢解决方法
我们使用python连接db2数据库时,需要安装ibm-db这个第三方包。使用pip install ibm-db安装时,发现无论使用哪个源都很慢,有的时候甚至要等一个小时。我们查看其安装的源码发现,在setup.py中,需要下载一个ntx64的驱动包。因为每次安装都要从ibm的这个地址下次,所以拖慢了我们的安装速度。我们提前将ntx64驱动包下载下来,然后将其源码修改一下,再pip安装...原创 2020-01-20 15:21:59 · 1130 阅读 · 0 评论 -
基于django开发下载excel文件的接口
有需求需要将数据以excel形式输出,基本思路如下:定义Excel工作本对象 => 查询数据 => 写入工作本对象 => 转换为二进制流返回遇到的问题是如何在不将文件落盘的情况下,转为二进制流输出。查找了一些资料,对比使用后,如下方法:伪代码:# 创建工作本f = xlwt.Workbook()# 工作本写入数据f.write()# 创建二进制流buf = ...原创 2020-01-20 15:07:48 · 583 阅读 · 0 评论 -
Ubuntu中Matplotlib绘图的中文乱码
问题引入在Ubuntu系统中使用Matplotlib绘图,如若没有进行相关配置可能会遇到中文乱码问题。使用以下代码作图。import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as plt# 这两行代码解决 plt 中文显示的问题plt.rcParams['font.sans-serif'] = ['SimHei...原创 2019-12-19 15:14:31 · 3765 阅读 · 1 评论 -
使用python&pandas读取hive数据
0 引子最近需要在python服务端实现读取hive数据的功能,本以为会比较容易实现,结果因为需要同时支持在Linux(部署)和windowns(开发)上运行,稍微费了一番功夫查询和尝试。1 支持hive的第三方包在网上稍微搜索了一下,支持python连接到hive的第三方包有pyhive、pshs2、impala。GitHub参考链接pyhive => https://gith...原创 2019-12-11 23:12:31 · 8297 阅读 · 0 评论 -
使用信用卡数据开发信贷评分卡
import pandas as pdimport numpy as npfrom sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn import metricsimport matplotlib.pyplot as ...原创 2019-11-30 23:16:04 · 332 阅读 · 0 评论 -
基于tensorflow使用RNN识别手写数字
基于tensorflow使用RNN识别手写数字,注释比较详细。另外我使用同样的代码训练多位验证码,每次预测的结果都是同样一组数字,无法成功训练出可以使用的模型,有了解相关内容的同学可以交流一下。import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datafrom tensorflow.co...原创 2019-07-31 20:23:19 · 413 阅读 · 0 评论 -
如何使用Python调用dll动态链接库?
1. 需求最近有这样一个需求:网络上下载了大佬的深度学习图像识别模型,想要集成到自己的后端作为服务调用。模型是.dll文件,而我这边使用的是Python。2. 思路.dll是使用C或者C++编译的动态链接库,一般留有函数入口可以进行调用。首先我们通过阅读原项目的源码,找到入口的函数名称、传参规则和类型、返回值类型。然后使用Python ctype库加载dll库,并且调用函数,得到返回值...原创 2018-12-08 00:11:15 · 13669 阅读 · 0 评论 -
Python中自定义抛出错误
1. Python中自定义抛出错误# 定义一个 Exception 类class AlreadyRegistered(Exception): pass# raise 抛出这个错误:Exception('info...')if model in self._registry: raise AlreadyRegistered('The model %s is already reg原创 2017-11-19 23:37:10 · 4198 阅读 · 0 评论 -
Python配置化的传入对象的函数和参数,动态执行程序
由于项目需求,我们需要动态的根据某段文档来调用对象中的函数,并传入必选和可选参数。实现代码如下:def call_function(obj, function_name, *args, **kwargs): result = fh.__getattribute__(function_name)(*args, **kwargs) return result被调用的函数:cl...原创 2019-07-31 19:48:16 · 845 阅读 · 0 评论 -
(转)python及Django的json序列化
转自:https://www.cnblogs.com/roygood/p/10152976.htmlJSONJSON是一种文本序列化格式(它输出的是unicode文件,大多数时候会被编码为utf-8),人们很容易进行阅读和编写。python自带的dumps方法很有用,能很容易将字典dict类型数据转化为json格式,然后还有很多类型的数据(如日期,集合, 自定义的类和Django的Quer...转载 2019-04-19 10:27:40 · 575 阅读 · 0 评论 -
chrome浏览器新特性
谷歌浏览器新特性(八月)1. await操作 2. 新截图功能 3. 节点截图功能 4. 新的api 5. 新的过滤器原创 2017-12-16 13:44:19 · 846 阅读 · 0 评论 -
(转载)pycharm快捷键及一些常用设置
PyCharm3.0默认快捷键转载 2017-12-15 09:34:50 · 1625 阅读 · 0 评论 -
使用pycharm断点调试-debug
1. show execution point (F10)显示目前项目所有断点2. step over (F8)下一步但仅限于设置断点的文件3. step into (F7)执行下一行4. step into my code (Alt+Shift+F7)执行下一行但忽略libraries(导入库的语句)5. force step into (Alt+Shift+原创 2017-12-22 14:42:33 · 12128 阅读 · 0 评论 -
(转载)在后台运行Python脚本服务
本文主要介绍了后台执行python脚本的方法原创 2017-12-12 21:32:14 · 2673 阅读 · 0 评论 -
git学习总结
本笔记参考自廖雪峰老师git教程 1. git init 初始化一个本地仓库 2. git add ./. 添加文件到本地暂存区 3. git commit -m "Update" 提交文件到当前分支并写注释 git commit -F "File Path" 提交文件到当前分支并写入文件里面的注释 4. git push 推送文件到github远程仓库默认分支 git pus原创 2017-11-20 21:26:21 · 18157 阅读 · 0 评论 -
基于python的验证码生成与识别1—生成简单的验证码
最近爬虫的时候经常遇到验证码,想着干脆就花点时间去学习一下如何识别验证码,顺便在这里记录一下过程,方便以后翻阅。识别验证码的主要过程为:1. 图像预处理 二值化,去噪等2. 图像分割 把验证码分割单个字符3. 图像识别 输出图像对应的字符目前接触到图像识别方法是Tesseract,KNN分类算法,AI 与向量空间图像识别算法(http://www.jb5原创 2017-10-14 00:06:33 · 31648 阅读 · 0 评论 -
使用phantomjs访问网站,高度自定义headers
由于在遇到的一个网站需要cookie才能访问成功,所以研究了一下如何给phantomjs设置cookie。既然能设置cookie,那么其余的头信息应该也能设置,下面就给大家说明如何实现。下面是我们要附带给phantomjs浏览器的headers信息。headers = { 'accept': "text/html,application/xhtml+xml,applicat原创 2017-10-13 23:42:02 · 31853 阅读 · 0 评论 -
使用selenium操作PhantomJS的常用操作
采集淘宝商品数据的时候,主要用到了Selenium+PhantomJS。在这个过程中对淘宝的严厉反爬措施佩服至极,个人也得到了很多成长。虽然历经曲折,最终还是能正常运行自己的脚本采集数据。这里总结一下Selenium+PhantomJS使用中常用的操作。设置等待时间隐式等待,等同于time.sleep()driver.implicitly_wait(40)原创 2017-10-13 23:40:34 · 34710 阅读 · 0 评论 -
五种使用python储存数据的方式
在python编程开发中,总是不可避免的遇到数据储存的问题,下面就介绍python与几种数据储存方式交互的方法。json文件json是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。层次结构简洁而清晰,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。最主要的是,通过json这个包可以很方便的解决无论是py2还是p原创 2017-10-13 23:38:10 · 111270 阅读 · 0 评论 -
如何动态获取对象的方法,并使用协程同步执行
笔记# 创建类class Crawl(object): def __init__(self): pass def proxy__a(self): pass def proxy__b(self): pass def proxy__c(self): pass# 创建对象c = Crawl(原创 2018-01-18 11:12:23 · 295 阅读 · 0 评论 -
使用python连接kafka
1. 安装pip install kafka2. 使用分别启动zookeeper服务和一个broker节点$ bin/zookeeper-server-start.sh config/zookeeper.properties$ bin/kafka-server-start.sh config/server.properties运行如下python程序用于生产消息...原创 2018-04-07 18:13:57 · 9516 阅读 · 1 评论 -
使用Python DBUtils构建MySQL数据库连接池
DBUtils能给我们提供稳定、持久和可共享的数据库连接池,也能让我们避免很多数据库异常情况的出现,提高数据库访问的效率。1. 引子如果你经常使用Python pymysql来操作MySQL数据库,那么一定对以下异常有几分眼熟:1.1. Error code: 2013pymysql.err.OperationalError: (2013, 'Lost connection to ...原创 2018-05-23 00:13:22 · 2144 阅读 · 0 评论