- 博客(365)
- 资源 (4)
- 收藏
- 关注
原创 Python 二进制、八进制、十进制、十六进制的相互转换
转为十进制(int)使用 int() 函数的结果是十进制。第一个参数是字符串,第二个参数是说明字符串本身是几进制的数。int('100',2) #4int('13',8) #11int("oxf",16) #15转为二进制(bin)bin(10) #0b1010bin(int('ff',16)) #十六进制->十进制->二进制。结果是0b11111111bin(int('17',8)) #八进制->十进制->二进制。结果是0b1111转
2021-04-07 18:42:25
2869
1
原创 Python 二维列表(list)的初始化
Python初始化一个m * n的二维list:list = [[0] * m for _ in range(n)]不能直接用:b = [[0] * 5] * 5因为这样相当于把[0]*5这个一维列表复制了5次,因此更改[0]*5中的任意一个元素,都会同时修改其他四个复制的列表。...
2021-04-05 12:44:42
4101
原创 MySQL中的UTF8和UTF8mb4编码的详细区别
一、区别MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。utf8mb4占用的存储空间会略大一些。二、原因描述那上面说了既然UTF-8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编
2021-03-05 13:53:51
2087
原创 百度NLP工具LAC初体验:分词,词性标注,命名实体识别
输入:from LAC import LAC# 装载LAC模型lac = LAC(mode='lac')# 单个样本输入,输入为Unicode编码的字符串text = u"LAC是个优秀的分词工具"lac_result = lac.run(text)print(lac_result)# 批量样本输入, 输入为多个句子组成的list,平均速率更快texts = [u"LAC是个优秀的分词工具", u"百度是一家高科技公司"]lac_result = lac.run(texts)
2020-12-07 15:29:18
5844
原创 微服务之服务监控
监控微服务服务监控在微服务改造过程中的重要性不言而喻,没有强大的监控能力,改造成微服务架构后,就无法掌控各个不同服务的情况,在遇到调用失败时,如果不能快速发现系统的问题,对于业务来说就是一场灾难。监控微服务调用前,首先你要搞清楚三个问题:监控的对象是什么?具体监控哪些指标?从哪些维度进行监控?下面就从这三个问题开始,一起来看看如何监控微服务调用。监控对象既然要监控,那么要监控哪些对象呢?根据我的实践经验,对于微服务系统来说,监控对象可以分为四个层次,由上到下可归纳为:...
2020-12-07 11:33:17
2458
原创 微服务之服务监控稳定性
最近一直在忙 618 大促的全链路压测 & 稳定性保障相关工作,结果 618 还未开始,生产环境就出了几次生产故障,且大多都是和系统稳定性、性能相关的 bad case。生产全链路压测终于告一段落,抽出时间将个人收集的稳定性相关资料整理 review 了一遍,顺带从不同的维度,谈谈稳定性相关的 “务虚” 认知和思考。。。一、SLA在开始谈稳定性保障之前,我们先来聊聊业内经常提及的一个 Topic:SLA!业内喜欢用 SLA (服务等级协议,全称:service level a...
2020-12-02 19:22:30
2603
原创 数据一致性 一文读懂
数据不一致产生的原因互联网的工程开发,与传统软件相比,往往要面临非常复杂多变的业务场景,这是老生常谈的问题了。虽然在工程开发与协同领域已经有了比较多的实践案例,但对于比较底层的一些技术框架的协同,由于选型的原因,往往是比较多元化的,这也就导致了一些基础框架之间的协同会出现一些问题。举个例子,在搜索领域,往往会采用ES这一类的全文检索引擎进行加速,但由于搜索往往还要带有广告、推荐等信息,很多时候还需要读取具备ACID的RDMS数据库,或者是一些NoSQL数据库,多种数据库组合在一起,才能满足业务上的需
2020-11-02 18:10:23
1352
2
原创 Jmeter测试接口返回结果和postman不一致
测试人员突然告诉我,说jmeter返回的结果和postman不一样。我很慌!搜索发现,原因是没有设置报文的编码。设置为utf-8之后,测试人员反馈成功!!
2020-10-23 16:38:06
3325
原创 通俗易懂的讲解 网关是什么
通俗一点的讲:网关就是要去别的网络的时候,把报文首先发送到的那台设备。稍微专业一点的术语,网关就是当前主机的默认路由。网关一般就是一台路由器,或者是“防火墙”又或者是“(三层)交换机”。有点像“一个小区中的一个菜鸟驿站”,小区里面的住户互相是知道怎么走,但是要向外地投递东西就不知道了,怎么办?把地址写好送到本小区的快递点就好了。那么,如何区分是“本小区”和“外地小区”的呢?区分是根据IP地址 + 掩码。如果是在一个范围内的,就是本小区(局域网内部),如果掩不住的,就是外地的(局域网外部)。例
2020-10-19 15:04:09
20404
原创 Error parsing XML: not well-formed (invalid token)的解决方法
https://blog.csdn.net/nocol123/article/details/53504329报文一直报错,但也查不出原理。上面那篇文章里的问题,都没有涉及到。终于发现,问题出在XML报文的字符限制上。XML文件中不允许出现的字符左边一列是不能在XML中直接使用的5个特殊字符,中间一列是在XML中代替它们的字符串,右边一列是特殊的原因。:特殊字符 代替符号 特殊原因 & & 每一个代表符号的开头字符 >..
2020-10-16 10:55:18
11338
原创 Linux安装python3并设置成系统默认python环境
1、环境说明 系统版本:Linux安装的python版本:3.6.52、编译环境准备(如果出现文件解压错误,wget命令无法下载等各种小意外,先把下面的环境安装一遍) yum install zlib-devel bzip2-devel openssl-devel ncurses-devel gcc-c++ gcc xz -y3、下载python安装包 可以根据自己的喜好去官网自行下载wget https://www.python.org/ftp/python/3.8.0
2020-09-24 17:12:57
4559
原创 Linux 离线编译安装Python 3.6.5
1、下载 Python-3.6.5 安装包 在 Python 官网(https://www.python.org/downloads/)下载对应的安装包,我们这里选择 3.6.5 的 linux 版本,如下图:2、将安装包上传至 Linux 服务器 在 Linux 服务器根目录下创建目录 package,并将安装包上传至该目录下3、解压 Python-3.6.5.tgz [root@xiaoxiaojiang/]# cd /package/ [root@xia..
2020-09-24 17:09:01
3245
3
原创 并发虚拟用户、RPS、TPS的解读
背景在做性能测试的时候,传统方式都是用并发虚拟用户数来衡量系统的性能(站在客户端视角),一般适用于一些网页站点例如首页、H5 的压测;而 RPS(Requests per second)模式主要是为了方便直接衡量系统的吞吐能力 TPS(Transaction Per Second, 每秒事务数)而设计的(站在服务端视角),按照被压测端需要达到 TPS 等量设置相应的 RPS,应用场景主要是一些动态的接口 API,例如登录、提交订单等等。VU(虚拟用户)和 TPS 之间也有其逻辑关系,具体请参见本
2020-09-10 11:36:29
3031
1
原创 什么是表示学习(representation learning)表征学习 表达学习
机器学习算法的成功与否不仅仅取决于算法本身,也取决于数据的表示。数据的不同表示可能会导致有效信息的隐藏或是曝露,这也决定了算法是不是能直截了当地解决问题。表征学习的目的是对复杂的原始数据化繁为简,把原始数据的无效信息剔除,把有效信息更有效地进行提炼,形成特征,这也应和了机器学习的一大任务——可解释性。 也正是因为特征的有效提取,使得今后的机器学习任务简单并且精确许多。在我们接触机器学习、深度学习之初,我们就知道有一类任务也是提炼数据的,那就是特征工程。与表征学习不同的是,特征工程是人为地处理数据,也是我们常
2020-09-01 10:11:52
26170
原创 系统吞吐量 TPS介绍及计算方法
因为要上线新需求,需要评估目前的系统性能。计算的主流方法就是TPS,学习一下~TPS:Transactions Per Second(每秒处理的事务处理数量),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)。例如,用户每分钟执行6个事务,TPS为6/ 60s= 0.10 TPS。同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒。TPS是软件测试..
2020-08-31 17:31:34
9303
原创 HTTP 方法:GET 和 POST 的区别对比
两种最常用的 HTTP 方法是:GET 和 POST。因为讨论到接口发送json报文的方法,说 POST 方法无长度限制,而我对此一无所知,所以学习一下请求发送的两种方法。(这里重点讨论接口的get和post方法,不介绍浏览器的这两种方法。)没学过计算机原理,伤不起呀~比较 GET 与 POST下面的表格比较了两种 HTTP 方法:GET 和 POST。 GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。 书.
2020-08-31 15:32:10
1062
原创 回车与换行符号\n,\r\n,^M符号
原文作者:阮一峰今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别了。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做"回车",告诉打字机把打印.
2020-08-18 19:30:35
11824
原创 Python isinstance()定义,以及isinstance() 与 type() 区别
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance()。...
2020-08-11 15:27:55
1365
原创 Python Flask入门
1. 首先写以下代码,命名为test.py:# -*- coding: utf-8 -*-# @Time : 2020/7/29 19:42# @Author : QUENTINNE# @File : test.py# @Software: PyCharmfrom flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello, World!'2.
2020-08-04 11:35:58
1197
原创 Python 有序字典 OrderedDict 的使用
很多人认为python中的字典是无序的,因为它是按照hash来存储的。但是python中有个模块collections(英文,收集、集合),里面自带了一个子类OrderedDict,实现了对字典对象中元素的排序。请看下面的示例:import collectionsprint "Regular dictionary"d={}d['a']='A'd['b']='B'd['c']='C'for k,v in d.items(): print k,vprint "\nOrde
2020-07-30 17:28:26
2341
1
原创 Pandas DataFrame 某一列中添加字符串
原数据:目标数据:实现方法:# 添加"Depth"字符串在df的Depth列之前df["newDepth"] =[ 'Depth % i' % i for i in df["Depth"]]
2020-07-30 17:12:25
6906
5
原创 PyCharm 安装配置 Pyspark环境
下载Spark安装包。解压后在Windows配置环境变量SPARK_HOME,值为spark安装包路径,并将$SPARK_HOME/bin加入Path。 本地安装Python、PyCharm。 点击PyCharm,点击File-Settings-project interpreter,配置Python编辑器。4.不管对不对,在pycharm上的project interpreter上下载py4j,因为很多博客说pyspark依赖这个模块。5. 随便打开一个project,pycharm右上角“
2020-07-30 16:18:19
4107
原创 Python 报错 Could not find a version that satisfies the requirement (from versions: ) No matching dist
在安装某些依赖包时,Python 出现如下的报错:Could not find a version that satisfies the requirement XXX (from versions: )No matching distribution found for XXX当时没截图,找一张网络上的图:解决方法一:更新pip版本到最新版。(但问题没解决,仍报同样的错)python -m pip install --upgrade pip解决方法二:由于网络的问题,需要使用.
2020-07-29 16:42:46
43831
11
原创 Linux系统常用命令总结
大部分来自网上,自己补充了一些。一、目录指令1、创建目录make directorymkdir目录名称//mkdirspring,创建一个spring文件夹mkdir-pfile/file/file//递归创建多级别关系目录mkdirdir/newdir//不使用递归mkdir-pdir/newdir/newdir//使用递归2、移动目录 mov...
2020-07-28 11:18:05
318
原创 Python报错 UnicodeDecodeError: ‘gbk‘ codec can‘t decode bytein position 2: illegal multibyte sequence
Python在读取文本信息时候出现以下的错误提示:UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence错误的意思是:Unicode的解码(Decode)出现错误了,以gbk编码的方式去解码(该字符串变成Unicode),但是此处通过gbk的方式,却无法解码(can't decode).''illegal multibyte sequence"的意思是...
2020-07-28 10:18:27
197326
26
原创 Pandas报错 ParserError:Error tokenizing data.C error:Expected 12 fields in line 407,saw 13.
使用pandas.read_csv(filePath) 方法来读取csv文件时,出现如下错误:ParserError:Error tokenizing data.C error:Expected 12 fields in line 407,saw 13.产生原因:在读取csv文件的第407行数据时,输入的应该是12个字段,但实际却出现了13个字段。解决办法:第一种方法:把该行多出的字段删除。(但由于文件很特殊,行数以万来记,因此一个一个的找出原因再删掉不现实) 第二种方法:通过在read_cs
2020-07-28 10:06:14
4395
原创 Linux 在cmd中正确使用cd命令切换文件目录
1、默认路径为用户文档路径,如果想要切换到C盘中的某个文件夹,比如AppData,可以执行命令cd AppData;3、但如果想切换到D盘,输入cd d:是不行的;4、如果我们要切换盘符的目录,正确的用法是在cd 和路径中间 增加一个“/d”,如cd /d d:5、当我们要切换盘符时,可以不用cd指令,直接用输入盘符:,如执行e:可以切换到E盘。...
2020-07-23 10:42:07
7806
2
原创 Spark DataFrame 新增一列的四种方法
作为一个学习 Python spark 的菜鸟,刚开始学习 dataframe 的多样化处理有些新奇,对于新增一列的方法,经过多方查询学习,总结了如下四种常用方法,分享给大家。虽然以下语言是用Scala写的,但使用Python的原理也是一样,方法一:利用 createDataFrame 方法,新增列的过程包含在构建 rdd 和 schema 中 方法二:利用 withColumn 方法,新增列的过程包含在 udf 函数中 方法三:利用 SQL 代码,新增列的过程直接写入 SQL 代码中...
2020-07-22 16:47:09
6852
原创 Python 字典value值比较大小
input:a = {'name': 'alex', 'age': 23}b = {'name': 'john', 'age': 28}目标是根据age大小,获得最大年龄的字典dict。output:b = {'name': 'john', 'age': 28}实现1:用max函数,取出最大值对应的dict。max(a,b,key=lambda x:x['age'])实现2:用sorted函数,对所有dict排序。再取第一个就是最大的。sorted(a,b, key
2020-07-22 16:02:12
9408
原创 Python dict 和 set 的原理及使用
本文来自廖雪峰的官方网站小白的 Python 新手教程,记录一下。https://www.liaoxuefeng.com/wiki/1016959663602400/1017104324028448dictPython 内置了字典:dict 的支持,dict 全称 dictionary,在其他语言中也称为 map,使用键 - 值(key-value)存储,具有极快的查找速度。举个例子,假设要根据同学的名字查找对应的成绩,如果用 list 实现,需要两个 list:names ...
2020-07-22 15:56:09
275
原创 PyCharm 新建模板默认添加作者时间等信息
在 PyCharm 使用过程中,对于每次新建文件的 shebang 行和关于代码编写者的一些个人信息快捷填写,使用模板的方式比较方便。方法如下: 1.打开 pycharm,选择 File-Settings 2.选择 Editor--Color&Style--File and Templates--Python-Script3.编辑内容(a)shebang 行#!/usr/bin/python3(b)预定义的变量要扩展为格式为 $ {<var...
2020-07-22 15:47:37
539
原创 jieba 计算2个句子的文本相似度(Python实现)
余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。余弦相似度将向量根据坐标值,绘制到向量空间中,如最常见的二维空间。github 参考链接:https://github.com/ZhanPwBibiBibi/CHlikelihood# -*- coding: utf-8 -*-import jiebaimport numpy as npimport redef get_word_vector(s1,s2): """ :pa..
2020-07-21 16:42:40
6371
原创 Excel 给一列数据前批量添加字符
比如有下面一张 Excel 表,左边一列是姓名,右边一列是编号,现在需要在每个姓名前添加 “姓名:” 字样,在每个编号前添加 “编号:” 字样,是不是要一个单元格一个单元格地去粘贴呢?当然不是。下面就来介绍简单省时的批量添加方法。方法 / 步骤 选中左侧的姓名列,选择菜单栏的 “数字按钮的下拉框”,打开设置单元格格式窗口,依次选择 “数字”-“自定义”。 在类型输入框里输入 "姓名:"@,注意引号是直引号。 点击确定,回来再看看,名字前面自动添加了 “姓名...
2020-07-20 15:11:39
14859
1
原创 SQL 语法 left join on 多条件与 where 区别
left join on + 多条件与 where 的区别重点先匹配,再筛选 where 条件。本文将通过几个例子说明两者的差别。表 1:productid amount 1 100 2 200 3 300 4 400 表 2:product_detailsid weight exist 2 22 0 4 44 1 5 55 0 6 66 1 1. ...
2020-07-20 15:06:45
700
原创 PySpark使用withColumnRenamed重命名多个列
想使用spark withColumnRenamed函数同时更改两个列的名称,现在比较麻烦需要一对一的修改,想找到更便捷的方法。data = sqlContext.createDataFrame([(1,2), (3,4)], ['x1', 'x2'])data = (data .withColumnRenamed('x1','x3') .withColumnRenamed('x2', 'x4'))1.使用toDF方法。data.toDF('x3', 'x4')
2020-07-20 14:49:32
13612
原创 Python 实现求众数的三种方法
给定一个长度为 n 的数组,返回众数。众数:是指数组中出现次数超过 n/2 次的元素。假设数组非空,众数一定存在。Example 1:Input: [3,2,3]Output: 3Example 2:Input: [2,2,1,1,1,2,2]Output: 21:字典,累记数组中出现的各元素的次数,一旦发现超过 n/2 次的元素就返回该元素def majorityElement(self, nums): """ :type num...
2020-07-20 14:34:51
13760
9
原创 Python 变得更快的一份加速工具清单
这篇文章会提供一些优化代码的工具。会让代码变得更简洁,或者更迅速。当然这些并不能代替算法设计,但是还是能让 Python 加速很多倍。其实前面讲算法的文章,也有提到过。比如适用于双向队列的 deque,以及在合适的条件下运用 bisect 和 heapq 来提升算法的性能。而且前面也提到过,Python 提供了当今最高级也是最有效的排序算法 (list.sort)。另外还有一个功能多样又迅速的散列表 (dict)。而且如果写迭代器封装、功能性代码或者是某种额外扩展的时候,或许CyToolz.
2020-07-20 14:21:28
484
原创 依存分析:中文依存句法分析简介
一、句法分析句法分析是自然语言处理中的关键技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。主要包括两方面的内容,一是确定语言的语法体系,即对语言中合法的句子的语法结构给与形式化的定义;另一方面是句法分析技术,即根据给定的语法体系,自动推导出句子的句法结构,分析句子所包含的句法单位和这些句法单位之间的关系。绘制依存句法结构图,可以使用这个工具:http://nlp.nju.edu.cn/tanggc/tools/DependencyViewer.html。下面的图也都是用这个工
2020-07-17 15:06:25
1597
1
原创 pandas DataFrame 删除 / 选取含有特定数值的行或列
1. 删除 / 选取某列含有特殊数值的行import pandas as pdimport numpy as np a=np.array([[1,2,3],[4,5,6],[7,8,9]])df1=pd.DataFrame(a,index=['row0','row1','row2'],columns=list('ABC'))print(df1)df2=df1.copy() #删除/选取某列含有特定数值的行#df1=df1[df1['A'].isin([1])]#df1[df1...
2020-07-17 13:59:00
4764
Linux透明企鹅图像
2020-07-06
2019年中国金融科技行业研究报告.pdf
2020-02-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人