- 博客(69)
- 收藏
- 关注
原创 修复python的Visual C++ 14环境错误
1.背景有些第三方python模块编译安装的时候需要依赖C/C++编译环境,如果电脑没有编译环境的话就会报error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-...
2018-10-12 09:11:57 3929 3
原创 spark-python版本依赖与三方模块方案
spark-python版本依赖与三方模块方案1. 背景公司有统一的spark大数据集群,但spark用的python版本是python2.7,项目组这边都是用python3.5,甚至有些项目用的是python3.6,对某些第三方包,有些项目用到pandas0.18,有些是pandas0.23等。相信这个问题用python的同学都遇到过,就是python的版本管理和第三包版本管理问题,...
2018-08-31 14:51:41 6865 2
原创 python自动化单元测试
python自动化单元测试1. 前言2. 原理3. 单元测试的简单类型4. 一个简单的例子5. 函数文档格式要求6. 生成测试用例7. 参考1. 前言说实话,除了测试要求,我实在不知道写单元测试有什么意义,一个函数50行代码,有多种参数组合,为了测试这些条件,需要编写测试用例,写完的测试用例比需要测试的函数还长。也就是说,除了写函数,还要写测试用例,增加的工...
2018-08-21 09:02:31 842 1
原创 机器学习-增量训练方法
机器学习-增量训练方法1. 为什么要增量训练做过机器学习的同学都知道,有时候训练数据是很多的,几十万几百万也是常有的事。虽然几十万几百万只看记录数不算多,但是如果有几百个特征呢,那数据集是很恐怖的,如果存成numpy.float类型,那绝对是把内存吃爆。我就是在这种情况下,开始考虑增量模型的增量训练。现在的机器都很便宜了,为什么不能放在服务器上面执行呢?我也有想过这个问题,但是在she...
2018-08-06 21:27:01 35137 10
原创 python爬虫基础
1. 前言我不是专业爬虫工程师,只是业余爬点数据做做分析和挖掘工作,所以没有使用到复杂的反爬虫和线程池等技术,也没有用到beautifulSoup这样的神库。但是并不影响我轻松爬取网页数据。 这里简单记录下浏览器操作,源码读取,以及数据提取的方法,够用了。2. selenium操作chrome浏览器2.1. 安装chrome浏览器和浏览器驱动首先你需要安装chrome浏览...
2018-07-29 20:45:13 536 1
原创 SQL-On-Pandas加速数据科学
SQL-On-Pandas加速数据科学 1. 背景2. 现状3. 实现过程 3.1. 基本假设和约定3.2. 实现方法3.3. globals()的使用3.4. exec的使用4. 使用方法1. 背景Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了...
2018-05-31 09:13:55 1167 1
原创 使用pycharm和pylint检查python代码规范
pylint是一个不错的代码静态检查工具。将其配置在pycharm中,随时对代码进行分析,确保所有代码都符合pep8规范,以便于养成良好的习惯,将来受用无穷。第一步,配置pylint - program: python安装目录下scripts/pylint.exe - arguments: --output-format=parseable --disable=R -rn --m...
2018-05-15 14:59:05 13238 2
原创 数据统计基础之F分布及其应用
大数据统计基础之F分布及其应用1. F分布 1.1. Z检验和t检验的局限性1.2. 方差分析的含义与假设1.3. 方差分析的过程2. F分布的应用——方差的同质性检验 2.1. 方差分析的基本原理2.2. 方差分析的基本过程3. F分布的应用——方差分析 3.1. 单因素方差分析的意义3.2. 完全随机设计的方差分析 3.2.1. 完全随机设计3.2.2. 完全随...
2018-04-28 15:37:05 23060 1
原创 win10右键菜单增加复制路径快捷键
win10右键菜单增加复制路径快捷键自换win10以来,很奇怪有时候shift+右键能看到复制路径,有时候不能,很烦恼。想到将其添加到右键菜单的注册表修改法。下面说说如何做。 首先新建一个文本文档,输入如下内容:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Allfilesystemobjects\shell\w...
2018-04-25 11:42:58 2856 4
原创 win10下右键菜单添加打开cmd
win10右键菜单增加open_cmd快捷键自换win10以来,shift+右键菜单里面的cmd被缓存powershell,换了也就罢了,但是powershell有诸多不变,首先是启动慢的问题,而且还有一些东西无法加载。在网上也看到有些网页存在类似的问题,没办法,把powershell换成cmd吧。右键菜单打开powershell的注册表地址是: 计算机\HKEY_LOCAL_MACHI...
2018-04-23 14:57:56 2318
原创 pyspark系列--自定义函数
自定义函数 1. 概览2. 自定义函数的一般流程3. 简单的自定义函数4. 自定义函数进阶1. 概览自定义函数的重点在于定义返回值类型的数据格式,其数据类型基本都是从from pyspark.sql.types import * 导入,常用的包括: - StructType():结构体 - StructField():结构体中的元素 - LongT...
2018-03-24 10:55:46 11418 2
原创 pyspark系列--集合操作
汇总函数1. 创建map2. 创建列表3. 元素存在判断4. 数据拉直5. posexplode6. json操作 6.1. get_json_object6.2. json_tuple6.3. from_json6.4. to_json7. 列表排序1. 创建map# Creates a new map column.from pyspark...
2018-03-23 22:42:45 4376
原创 pyspark系列--字符串函数
字符串函数1. 字符串拼接2. 字符串格式化3. 查找字符串位置4. 字符串截取5. 正则表达式6. 正则表达式替换7. 其他字符串函数1. 字符串拼接from pyspark.sql.functions import concat, concat_wsdf = spark.createDataFrame([('abcd','123')], ['s',...
2018-03-23 22:41:29 10936
原创 pyspark系列--日期函数
日期函数 1. 获取当前日期2. 获取当前日期和时间3. 日期格式转换4. 字符转日期5. 获取日期中的年月日6. 获取时分秒7. 获取日期对应的季度8. 日期加减9. 月份加减10. 日期差,月份差11. 计算下一个日子的日期12. 本月的最后一个日期1. 获取当前日期from pyspark.sql.functions import curr...
2018-03-23 22:40:34 15459 8
原创 pyspark系列--统计基础
统计基础 1. 简单统计2. 随机数3. 四舍五入4. 抽样5. 描述性统计6. 最大值最小值7. 均值方差8. 协方差与相关系数9. 交叉表(列联表)10. 频繁项目元素11. 其他数学函数 11.1. 数学函数12. 元素去重计数13. 聚合函数 grouping14. 聚合函数 grouping_id1. 简单统计在数据分析中,基本统计分...
2018-03-23 22:39:34 9852 1
原创 pyspark系列--datafrane进阶
datafrane进阶 1. 分组统计2. join 操作3. 缺失值处理4. 空值判断5. 缺失值处理6. 离群点7. 重复值8. 生成新列9. 类eval操作10. 行的最大最小值11. when操作12. lag,lead平移1. 分组统计分组统计应该是用的最多的方法了,比如分地区求平均值,最大最小值等。# 分组计算1color_df...
2018-03-23 22:33:55 5345 1
原创 pyspark系列--dataframe基础
dataframe基础 1. 连接本地spark2. 创建dataframe3. 查看字段类型4. 查看列名5. 查看行数6. 重命名列名7. 选择和切片筛选8. 删除一列9. 增加一列10. 转json11. 排序12. 缺失值1. 连接本地sparkimport pandas as pdfrom pyspark.sql import Spa...
2018-03-23 22:32:45 7831 1
原创 pyspark系列--pandas和pyspark对比
目录 1. pandas和pyspark对比 1.1. 工作方式1.2. 延迟机制1.3. 内存缓存1.4. DataFrame可变性1.5. 创建1.6. index索引1.7. 行结构1.8. 列结构1.9. 列名称1.10. 列添加1.11. 列修改1.12. 显示1.13. 排序1.14. 选择或切片1.15. 过滤1.16. 整合1.17. 统计...
2018-03-23 22:31:39 8290 3
原创 pyspark系列--读写dataframe
目录 1. 连接spark2. 创建dataframe 2.1. 从变量创建2.2. 从变量创建2.3. 读取json2.4. 读取csv2.5. 读取MySQL2.6. 从pandas.dataframe创建2.7. 从列式存储的parquet读取2.8. 从hive读取3. 保存数据 3.1. 写到csv3.2. 保存到parquet3.3. 写到hive3...
2018-03-23 22:30:30 20519 4
原创 pyspark系列--连接pyspark
目录 1. 连接spark 1.1. 简单连接spark1.2. 连接spark集群1.3. 集群python环境1.4. config参数2. 提交作业1. 连接spark1.1. 简单连接sparkfrom pyspark.sql import SparkSessionspark=SparkSession \ .builder...
2018-03-23 22:28:57 7028
原创 pyspark系列--pyspark2.x环境搭建
pyspark2.x环境搭建1. 前言2. linux子系统 2.1. 操作windows文件2.2. ssh安装3. java环境4. 安装hadoop5. 安装spark6. 安装python7. 测试 7.1. 命令行测试7.2. 提交python程序测试1. 前言因为文章主要是整理pyspark2.x的使用,不涉及到集群管理和集群参数调整,因...
2018-03-23 22:25:57 1870 1
原创 供应链单级多周期库存补货模型
供应链单级多周期库存补货模型1. 经典EOQ模型及其基本假设1.1. 什么是EOQEOQ,即 经济订购批量模型,是库存模型的理论基础,也是库存理论的基础模型,其核心是:在订货成本与库存成本之间寻找一个平衡,使得订货能够满足市场预估需求,而且成本最小化。可以用下面的一幅图来表示,订货成本逐渐下降,是因为随着订货量的增加,可以拿到数量价格折扣,同时单位运输成本也会下降,这是符合人们...
2018-03-11 22:01:59 11264 4
原创 pandas-sql不同时间段汇总小技巧
pandas-sql小技巧问题描述统计不同产品在不同时间段的销量,即,A产品统计1-5号,B产品统计3-7号的销量….分析对于这种简单问题,首先想到的是,用SQL去做,只要提取对应的时间区间就好了。 SQL语法如下:先取出指定日期区间的数据-- 先取出指定日期区间的数据select a.id as 产品ID, a.saledate as 销售日期, a.sa...
2018-03-09 16:35:40 1155
原创 从推公式到写代码--聊聊最小二乘法
本专辑内容的阅读对象是有一定的高数和线性代数基础,但是缺少编程训练的人。1. 前言在这一讲中,我们来聊聊最小二乘及最小二乘方法求解方程参数问题。希望通过这一讲,能让大家了解通用参数求解方法的最小二乘是怎么工作的,如果大家有python基础,也希望大家能掌握一般方程的参数求解方法,并能依样画葫芦,解决学习工作中的数学模型参数问题。如果你没有python基础也不用担心,我们后面会有python及pyth
2018-03-09 15:19:52 791
原创 python3操作hive
1. 前言目前python3连接hive的方法主要是使用cloudera开发的impyla包,但是要安装impyla也不是那么容易的事情,因为impyla要使用系统底层模块,所以就要先安装对应的模块,而不仅仅是安装impyla就可以了。如果是想hdfs-server就好了,一个http就能搞定。在过大网友的无私奉献,以及Google和Baidu的帮助下,终于解决了python3连接hive...
2018-03-06 11:44:17 3851
原创 Flask快速搭建简单服务器
Flask快速搭建简单服务器Flask真是一个强大且简介的web框架,可以快速搭建web服务器,简单,高效。近期需要做一个本地服务器,用来接收量化平台传回来的交易信号,然后调用对应的交易API,以及交易信号的存储。考虑到只是简单的接收信号和少量数据存储,而且没有高并发的要求,所以实用sqlite3作为后端存储。下面记录下简单的Flask发送和接收http请求和参数解析。项目名称
2018-01-06 21:07:17 11575 1
原创 python绘制动态模拟图
动图很多时候我们绘图不仅仅是绘制最终的统计结果图,而是想看看在不同参数不同时刻下的连续图形,这个在仿真模拟的时候相当有用。比如机器学习中,参数的变化导致的变化,比如我最近做的库存水平变化模拟等。如果我们绘制静态图像,只能看到某一时刻的直观图形,如果加入时间线,那么就能直观感受变量的变化过程。其实原理也挺简单的,就是创建一幅图,定义图形中曲线,散点,标注等各个对象,然后在不同时刻,更新这些对象的数据,
2017-10-25 10:19:47 54491 8
原创 py-charm延长试用期限
不敢说得太明显太仔细,反正你懂的。 有两种方法,一种是搭建本地授权服务器,另一种是直接替换核心文件,修改对应的注册码。先说第一种。 下载IntelliJIDEALicenseServer,然后找到对应的平台,比如我的是win10 x64的文件运行,看屏幕输出提示,复制授权服务器地址http://127.0.0.1:1017,粘贴到pycharm的注册地址即可。 亲测可用。再说下第二种。 比较
2017-09-02 11:10:34 14628
原创 pycharm远程开发python程序
在windows中写代码,然后在linux下测试执行,是很多人的最佳选择,毕竟,linux不是一般人能玩转的。 下面讲讲如果使用pycharm进行远程开发,实现在windows中写代码,在linux下执行。这里主要在虚拟机中测试,在真实的服务器也是一样的配置,如果有ssh权限或者ftp权限的话。原理原理很好理解,pycharm使用ftp将代码上传至linux,然后pycharm使用ssh连接lin
2017-08-26 10:12:22 2823
转载 ubuntu16配置ftp
下面讲讲怎么在Ubuntu中配置FTP,都是从网上找来的,就当是做个笔记吧。1.有问题时完全卸载vsftpdsudo apt-get purge vsftpd2.安装vsftpdsudo apt-get install vsftpd3.创建ftp用户这一步闲麻烦,我实用原有的zhenyu用户作为ftp用户,不再创建ftp用户,ftp目录是 /home/zhenyu/ftp_dir.如果需要另外创建f
2017-07-30 18:33:27 1340
原创 scipy数值优化与参数估计
引言优化是一门大学问,这里不讲数学原理,我假设你还记得一点高数的知识,并且看得懂python代码。关于求解方程的参数,这个在数据挖掘或问题研究中经常碰到,比如下面的回归方程式,是挖掘算法中最简单最常用的了,那么怎么求解方程中的各个参数呢?当然,对于常见的挖掘算法,甚至是复杂的深度学习,在sklearn和tensorflow等工具已经很好解决怎么求解参数的问题,只需要调接口就好了。 那么我们再看下面
2017-04-11 10:07:38 20095 4
原创 python seaborn画图
python seaborn画图以前觉得用markdown写图文混排的文字应该很麻烦,后来发现CSDN的markdown真是好用的。在做分析时候,有时需要画几个图看看数据分布情况,但总记不住python的绘图函数。今天有空顺便整理下python的seaborn绘图函数库。 Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seabo
2017-04-03 20:52:21 87773 16
转载 python中常用的base64 md5 aes des crc32等的加密解密
python中常用的base64 md5 aes des crc32等的加密解密转自:http://www.cnblogs.com/darkpig/p/5676076.html1.base64Python内置的base64模块可以实现base64、base32、base16、base85、urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形式,2.x可以是字符串形式。
2017-01-20 15:37:27 7913
原创 python3发新浪微博
python3发新浪微博创建微博应用登陆http://open.weibo.com/apps创建微博应用,获取App Key和App Secret,填写OAuth2.0授权回调页,如果不知道是什么就写微博默认的https://api.weibo.com/oauth2/default.html在 应用信息–>高级信息 中,授权回调页和取消授权回调页都填一样的。 这个网上很多。获取微博的python接
2017-01-05 17:47:49 4129 5
原创 spark 学习笔记
spark 学习笔记《spakr快速大数据分析》 书中例子是以spark1.2为基础写的。第二章启动 ipython IPYTHON=1 ./bin/pyspark 使用ipython notebook IPYTHON_OPTS="notebook" ./bin/pyspark 在windows上启动 set IPYTHON=1 \n bin\pyspark将py程序提交到spark执行
2017-01-01 15:13:52 2428
原创 python分布式计算dispy简单使用
dispy,是用asyncoro实现的分布式并行计算框架。框架也是非常精简,只有4个组件,在其源码文件夹下可以找到:dispy.py (client) provides two ways of creating “clusters”: JobCluster when only one instance of dispy may run and SharedJobCluster when multip
2016-12-28 16:28:46 5097
原创 python中的多线程和多进程
python中的多线程和多进程如果使用multiprocessing模块是相当简单的,通过进程池或线程池来限定并发的数量。 创建多进程和多线程的语法是一样的,只需要将Pool替换为ThreadPool即可将多进程替换为多线程。from multiprocessing import Pool # 进程池from multiprocessing.dummy import Pool as Threa
2016-12-28 12:12:42 713
原创 Pycharm开发spark程序
Pycharm开发spark程序使用pycharm连接spark开发python程序。Pycharm本地开发spark程序1.安装Java安装Java8 64bit,安装目录是 C:\Java 配置环境变量JAVA_HOME : C:\Java\jdk8\binCLASSPATH : .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意开
2016-12-26 12:14:59 4864
原创 使用python发送qq消息
以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理。也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了。今天偶然看到一篇文章,是用python调用win32的接口发送qq消息的,觉得不错,就先记录下来,日后肯定会用得上这些小工具。 发送qq消息要求已经登陆qq,而且qq的窗口是独立的,现在新版的qq一般都是将所有的聊天窗口聚合在一起,因此要设置将qq
2016-10-26 14:54:44 56237 8
原创 sphinx自动化文档
sphinx自动化文档sphinx是python的御用自动化文档模块,通过提取代码中的文档注释(docstring)来生成代码文档,还是很方便的,你看到很多python官方教程,其实都是sphinx生成的,比如数据分析的pandas:http://pandas.pydata.org/pandas-docs/stable/ 废话不多说,下面开始。 需要注意的是,我使用的python3.5,sphi
2016-10-25 16:00:16 5848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人