- 博客(48)
- 收藏
- 关注
原创 Hadoop 原理和架构
04 | 移动计算比移动数据更划算那么如何解决 PB 级数据进行计算的问题呢?这个问题的解决思路其实跟大型网站的分布式架构思路是一样的,采用分布式集群的解决方案,用数千台甚至上万台计算机构建一个大数据计算处理集群,利用更多的网络带宽、内存空间、磁盘容量、CPU 核心数去进行计算处理。既然数据是庞大的,而程序要比数据小得多,将数据输入给程序是不划算的,那么就反其道而行之,将程序分发到数据所在的...
2020-03-12 00:22:11
1297
原创 环境变量被污染,自动开启代理,导致无法上网
突然cmd中,jupyter ipython等命令都不能使用了。查询发现环境变量被Subversion污染,修改就好有时候突然不能上网,显示代理服务器异常。但我明明都没有开代理,后来在chrome设置查找代理,找到windows的代理设置,如下图,发现自动开启了手动代理,关闭就解决了...
2019-12-12 23:23:18
942
原创 Python 设计模式 - "策略" 模式
1. 经典类实现方式from abc import ABC, abstractmethodfrom collections import namedtupleCustomer = namedtuple('Customer', 'name fidelity')class LineItem: def __init__(self, product, quantity, price):...
2019-11-11 23:14:17
253
原创 Jupyter Notebook 和 Python 配置环境变量
先找到这两个脚本位置C:\lllong33\software\Anaconda3\Scripts\ipython.exeC:\lllong33\software\Anaconda3\python.exePath中添加C:\lllong33\software\Anaconda3\ScriptsC:\lllong33\software\Anaconda3重新打开CMD窗口,就可以使用了...
2019-10-04 10:46:45
1517
原创 svn: E230001: Server SSL certificate verification failed
问题描述:重装系统后,将原电脑文件直接迁移过来的,导致该问题。解决过程:1.将svn.exe的bin目录添加进 环境变量 即path2.执行 svn ls http://…com, 选择P, 输入账号密码,再去pycharm使用就成功了...
2019-10-04 10:37:27
251
原创 Python 算法(五) 哈希函数(哈希表)、RandomPool结构、并查集结构、岛问题
哈希函数: 又称散列算法、哈希函数,是从任何一种数据中创建小的数字“指纹”的方法。将消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。或者说,即MD5、SHA等函数,实现将大集合映射为随机的小集合。小集合具有均分性哈希函数的技巧16进制的数,0-f中的一个数, 取值范围[0, 16*16=2**64-1)输入无穷大,输出固定哈希冲突,两个不同输入对应一个输出当输入域...
2019-07-07 16:57:58
497
原创 Python 算法(四) 二叉树,先序,中序,后续,完全、平衡、搜索二叉树
(不重要) 终端打印一颗二叉树,便于观察class Node: def __init__(self, value, left=None, right=None, parent=None): self.value = value self.left = left self.right = right self.parent =...
2019-06-30 14:15:32
235
原创 Python 算法(三、3) 队列和栈
一、固定数组实现队列和栈class ArrayStack: def __init__(self, arr): self.arr = arr self.size = 0 def peek(self): if self.arr == 0: return None return self.arr[...
2019-06-29 17:56:07
194
原创 Python 算法(三、2) 矩阵
1、转圈打印矩阵给定一个矩阵如下,转圈的方式打印它,结果为[1,2,3,4,8…], 格外空间复杂度为O(1)1 2 3 45 6 7 89 10 11 1213 14 15 16思路:坐标和圈来打印,利用左上角和右下角坐标解决边界问题,只有一行或者一列class PrintMatrixSpiralOrder: def __init__(self, ma...
2019-06-29 17:55:28
884
原创 Python 算法(三、1) 链表
1、判断一个链表是否为回文结构给定一个链表的头节点head,请判断该链表是否为回文结构。例如: 1->2->1,返回true。 1->2->2->1,返回true。15->6->15,返回true。 1->2->3,返回false。进阶:如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1)。思路1:遍历过程中,将所有结...
2019-06-29 17:54:04
202
原创 Python 算法(二)补充,排序算法稳定性,工程中综合排序,比较器,桶排序
四、排序算法稳定性及其汇总定义:排序过程保证相同元素次序不发生改变。意义:业务需求,三个属性(name, age, height)的时候, height排序的时候,原始顺序age不会发送改变(按照height和age排序)。稳定性排序:冒泡排序、插入排序、归并排序不稳定性排序:选择排序:[4,4,4,3],第1个4和3交换位置,发送变化快排:[4,4,4,5], 随机选择的4跟...
2019-06-27 22:27:29
261
原创 Python 装饰器使用场景,注意点
闭包的定义:函数的返回值为函数对象装饰器的定义:通过装饰器,来修改原函数的一些功能,使得原函数不需要修改,就具备需要的功能。使用内置的装饰器@functools.wrap, 保留原函数的元信息import functoolsdef my_decorator(func): @functools.wraps(func) def wrapper(*args, **kwargs)...
2019-06-23 13:37:33
485
原创 SQL Server,Python,百万数据入库,常见问题
一、百万数据入库测试结果1、读取数据追求速度问题,使用csv缓存,从csv中获取数据,速度最快pymssql模块:使用execute, 然后fetchall(),速度在 7min 左右pandas read_sql:速度差不多,数据量大,速度有优势pyodbc模块、pyodbc模块待测试,速度应该会没差别pandas模块 read_csv:直接从csv文件取相同数据,read_csv...
2019-05-30 21:02:46
3882
原创 Python 排序算法(二)荷兰国旗问题、随机快排、堆排序
问题1:荷兰国旗问题给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)import randomdef netherlands_flag(arr, l, r, num): less = l - 1 # 便于理解 more = r + 1 ...
2019-05-28 15:42:44
316
原创 Mysql 与 Python 交互
一、准备数据创建数据表-- 创建 "京东" 数据库create database jing_dong charset=utf8;-- 使用 "京东" 数据库use jing_dong;-- 创建一个商品goods数据表create table goods( id int unsigned primary key auto_increment not null, ...
2019-05-26 17:20:55
137
原创 Python 排序算法(一)、时间复杂度、冒泡、选择插入、对数器、递归、归并、小和、逆序对
认识时间复杂度常数时间的操作:跟数据量没有关系,每次时间都是固定的在常数操作数量的表达式中,只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分如果记为f(N),那么时间复杂度为0(f(N))评价算法好坏,先看时间复杂度的指标,然后分析不同数据样本下的实际运行时间(考虑常数项时间)实例:一个有序数组A,另外一个无序数组B,请打印B中所有不在A中的数,A数组长度为N,B数组长度为M...
2019-05-10 17:04:15
922
1
原创 Python CookBook fourth chapter(第四章)
import time# 4.1、手动遍历迭代器# 通过next()和StopIteration异常,取代foritems = [1,2,3]it = iter(items)next(it)1# 4.2 代理迭代# __iter__() 和 __str__() 和 __repr() 用法class Node: def __init__(self, value):...
2019-05-02 17:46:12
646
原创 实习碰到的问题,和解决方法
错题集1、a = 'You'print('\n',a)print('\n' + a)原因:第一个是输出两个字符,python中两个字符间自动存在一个空格;第二个是成为了一个字符,所有没有空格解决方法:print(’\n’,‘rpg’,sep=’’)2、找出列表出重复的元素https://python3-cookbook.readthedocs.io/zh_CN/latest/...
2019-05-02 17:18:48
2520
2
原创 pandas 时间序列,常用功能
时间模块:datetime1、datetime模块:datetime.date(), datetime.datetime(), datetime.timedelta()2、日期解析方法:parser.parsePandas时刻数据:Timestamp1、pd.Timestamp()2、pd.to_datetime(),errors='ignore'/'coerce', NaT(Not ...
2019-04-24 21:26:29
952
原创 pandas 处理数据常用功能
数据计算和统计基础mean() 默认参数axis=0,表示为列。与apply参数相反 也可设置skipna=False,默认为True,跳过空值count(),min(), sum(), median(), quantile(q=0.75) 统计分位数std(), var(), skew(), kurt() 标准差,方差,偏度,峰度cumsum(), cumprod(), cum...
2019-04-24 21:24:47
301
原创 pandas 练习1
需求1、对于每个product id,满足:6月有数,9月有数 且(7月8月任意一个月为空/0 OR 7+8的sales < 50%*9的sales)2、则 apply:7+8+9的数,按32% 30% 38%分配在这三个月,volume round到INT, value round到保留2位小数3、其中:sales = Value;sales_volume= Volume"""E...
2019-04-21 12:02:16
205
1
原创 三、pymongo操作,用Python操作mongodb
一、pymongo操作1、Python实例和插入,查找和更新,删除。from pymongo import MongoClientclass TestMongo: # 1、初始化实例和插入 def __init__(self): client = MongoClient(host="127.0.0.1") # 端口默认27017 sel...
2019-03-23 23:34:24
188
原创 二、mongodb高级操作
目录:【聚合管道,goup,match,project,sort,skip,limit,unwind,索引建立】一、mongodb高级操作:聚合管道,limit方法,unwind使用,索引建立1、mongodb的聚合管道概述:聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处...
2019-03-23 23:32:19
307
原创 一、Mongodb介绍(概述和安装)和基本操作(增删改查,高级查询,备份恢复)
一 、mongdb介绍和安装启动1.1 mongodb介绍“NoSQL”⼀词最早于1998年被⽤于⼀个轻量级的关系数据库的名字随着web2.0的快速发展, NoSQL概念在2009年被提了出来NoSQL在2010年⻛⽣⽔起, 现在国内外众多⼤⼩⽹站, 如facebook、 google、 淘宝、 京东、 百度等, 都在使⽤nosql开发⾼性能的产品对于⼀名程序员来讲, 使...
2019-03-21 23:37:39
181
原创 pycharm常用快捷键
1. pycharm高频率使用的快捷键Ctrl+Shift+F10 运行当前的页面Ctrl + / 注释(取消注释)选择的行Ctrl+Shift+F 高级查找Shift + Enter 开始新行TAB Shift+TAB 缩进/取消缩进所选择的行Ctrl + Y 删除当前插入符所在的行Ctrl + D 复制当前行、或者选择的块Ctrl + Shift + J 合并行Delete ...
2019-02-20 23:48:33
103
原创 mysql 数据准备、查询、条件、排序、聚合函数 分组、分页、连接查询 自关联 子查询
一、数据准备、基本查询创建数据库和数据表-- 创建数据库create database python_test_1 charset=utf8;-- 使用数据库use python_test_1;-- students表create table students( id int unsigned primary key auto_increment not null,...
2018-12-27 21:16:53
210
原创 mysql 简介、安装、创建、查看、修改、删除
一、数据库简介数据库是一种特殊文件,中间存储着数据。RDBMS关系型数据主要产品:(数据库排名:https://db-engines.com/en/ranking)oracle:以前大型项目中银行,电信等项目mysql:web时代使用最广泛ms sql server:在微软项目中使用sqlite:轻量级数据库,主要应用于移动平台RDBMS和数据库的关...
2018-12-24 18:37:07
260
原创 Python 闭包
1.闭包实例:def line_conf(a, b): def line(x): return a*x + b return lineline1 = line_conf(1,1)line2 = line_conf(4,5)print(line1(5), line2(5)) #6, 52闭包相对于全局变量:不能很好的封装缺省参数:适应场景有限类对象:...
2018-12-20 15:42:43
374
原创 Python 装饰器
1. 介绍装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,重要性相当于c语言中的指针。面试也经常问到。2.手动实现def set_func(func): def call_func(): print(&quot;---这是权限验证1----&quot;) print(&quot;---这是权限验证2----&quot;) func() return call_func@set
2018-12-20 15:38:32
273
1
原创 连接redis错误:ERR Client sent AUTH, but no password is set
解决:命令行进入Redis的文件夹:D:\Redis-x64-3.2.100>redis-cli.exe查看是否设置了密码:127.0.0.1:6379> auth foobared(error) ERR Client sent AUTH, but no password is set说明没有设置密码,执行命令:127.0.0.1:6379> config set r...
2018-12-18 22:27:15
255
原创 Python 模块和包
01. 模块每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块模块别名 应该符合 大驼峰命名法不推荐import *,容易出现重名Python 中每一个模块都有一个内置属性 __file__ 可以 查看模块 的 完整路径在导入文件时,文件中 所有没有任何缩进的代码 都会被执行一遍!__name__ 是 Python 的一个内置属性,记录着一个 字符串,如果是被其他文件...
2018-12-03 18:27:46
307
原创 Python 面向对象
面相对象(封装,继承,多态)一个对象的 属性 可以是 另外一个类创建的对象私有属性和私有方法:处理方式:在 名称 前面加上 _类名 =&gt; _类名__名称就可以访问了继承(体现出多态)对父类方法进行扩展:在子类中重写父类方法,在需要的位置调用super().父类方法,然后实现其他需求多继承:如果不同父类存在同名方法,子类会调用那个方法?python中存在MRO(method...
2018-12-03 18:14:09
194
原创 os模块
文件操作rename 重命名文件 os.rename(源文件名, 目标文件名)remove 删除文件 os.remove(文件名)目录操作listdir 目录列表 os.listdir(目录名)mkdir 创建目录 os.mkdir(目录名)rmdir 删除目录 os.rmdir(目录名)getcwd 获取当前目录 os.getcwd()chdir 修改工作目录 os.chd...
2018-12-03 18:01:55
109
原创 Python与sqlite3
要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection;连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。由于SQLite的驱动内置在Python标准库中,所以我们可以直接来操作SQLite数...
2018-12-01 19:32:49
387
原创 chardet 判断编码
data = '离离原上草,一岁一枯荣'.encode('gbk')chardet.detect(data)#{'encoding': 'gb2312', 'confidence': 0.74 'language': ''}正常中文解析为gb2312编码,但 旻 不在其中,需要使用gbk编码,gbk是gb2312的超集。https://chardet.readthedocs.io/e...
2018-12-01 15:19:39
329
原创 python argparse
argparseargparse 是 Python 内置的一个用于命令项选项与参数解析的模块,Python 也有第三方的库可用于命令行解析,而且功能也更加强大,比如docopt,Click。1. argparse使用创建 ArgumentParser() 对象调用 add_argument() 方法添加参数使用 parse_args() 解析添加的参数2. add_argument...
2018-11-28 18:23:14
194
1
原创 python与协程
一. 迭代器(iterator)iterable,iterator,iteration可迭代对象可以通过for … in … 这类语句迭代的对象称为可迭代对象# 通过isinstance判断一个对象是否为iterable和iterator对象from collections import Iterable, Iteratorisinstance([], Iterable) # Tru...
2018-11-27 16:23:08
224
原创 python与进程
一. 进程的创建-from multiprocessing import ProcessProcess语法结构Process([group [, target [, name [, args [, kwargs]]]]])target:如果传递了函数的引用,可以任务这个子进程就执行这里的代码args:给target指定的函数传递的参数,以元组的方式传递kwargs:给target指...
2018-11-27 16:11:30
132
原创 python与线程
1. 概念同步概念:协同步调,按预定的先后次序运行并发:不同时运行(线程)并行:同时运行(进程)同步原语:1.互斥锁,2.信号量原语,3.queue队列上下文管理器:with死锁:1.通过银行家算法解决,2.添加超时时间模块:threading.Thread线程池:创建线程需要经过启动、销毁和运行3个过程。创建和用完的线程放入一个容器中,用户下次使用无须再开辟一个新进程。节约开辟新...
2018-11-27 16:02:04
155
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人