
python
Cris_Lee卡卡卡
https://github.com/lrs1353281004
展开
-
python-logging模块踩坑记录-配置不生效问题
https://stackoverflow.com/questions/13839554/how-to-change-filehandle-with-python-logging-on-the-fly-with-different-classes-a原创 2020-09-08 20:34:56 · 7557 阅读 · 1 评论 -
从零开始实现核密度估计(kernel density estimation,KDE)-python实现
问题背景核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window)。具体原理推导可参考这篇博客。此篇博客侧重于根据理论公式,给出python实现。python工具包推荐seaborn,pandas,scikit-learn中均提供了kde计算及绘图函数,可直接查阅/调用。理论基础核密度估计的核心公式原创 2020-06-03 23:53:55 · 16336 阅读 · 5 评论 -
python 使用pandas 读取较大csv文件的加速技巧
问题背景基于python将较大的文本文件读取为dataframe时(文本文件可能是csv或者xlsx类型)。直接用pandas对整个文件进行读取的话,会比较耗时。这里提供一个简单的加速方案:分批读取。实现方案需要首先将文件转为可以分批读取的数据类型:csv(’,‘分隔)或者tsv(’\t’分隔)。然后基于 pandas 的 read_csv函数的 chunksize参数实现分批读取(此参数用于设定每批读入多少行数据)。一般设置为一个稍大的整数即可明显提速。封装成以下的函数,可以直接调用:def原创 2020-05-23 17:01:57 · 14705 阅读 · 6 评论 -
python re 正则匹配 示例
记录一些python正则匹配的实际应用场景示例,持续更新。1. 目标场景: 提取不跟在特定字符后的指定字符示例问题:血氧饱和度提取 输入字符形式类似 “SpO296”或者“SPO296”96 为目标数值,SpO2 中的O2为氧气 。所以问题可以转化为提取连续的数字,数字前的字符不能是SpO 或者SPO.示例代码:input_str='SpO296'import rematch_...原创 2020-04-27 17:07:22 · 253 阅读 · 0 评论 -
sklearn 使用软标签进行多标签、多分类训练的一种实现方法
目标场景Multilabel classifcation in sklearn with soft (fuzzy) labels。在sklearn中,使用软标签(one-hot标签:(1,0,0),软标签:(0.8,0.2,0))进行多标签分类问题。解决方案神经网络的训练方式是直接支持使用软标签训练的。对于sklearn中的部分基础机器学习分类模型,无法直接支持软标签训练。一个解决方案...原创 2020-04-03 10:25:28 · 3468 阅读 · 0 评论 -
python list 求 交集,并集,差集的高效方法
针对python中对两个列表求交集,并集,差集的问题,可以使用较简洁的内置方法解决示例如下。list_1 = [1,2,5,7,9]list_2 = [2,4,6,9]union = list(set(list_1)&set(list_2)) # 交集,[9, 2]intersection = list(set(list_1)|set(list_2)) # 并集,[1, 2, 4,...原创 2020-02-07 18:02:48 · 7676 阅读 · 0 评论 -
xgboost 与 lightgbm 多分类 与 多标签 任务 python代码实例
https://stackoverflow.com/questions/40916939/xg-boost-for-multilabel-classification原创 2019-12-11 20:55:56 · 11254 阅读 · 2 评论 -
python Pandas DataFrame 取单行数据保持dataframe格式的方法
python pandas的一个使用技巧。Pandas DataFrame 直接取一行数据会得到Series,如果想让结果保持原dataframe格式,在索引外加 [] 即可。示例如下:import pandas as pdtest_df = pd.DataFrame([[0,'a','b'],[1,'c','d'],[2,'e','f']],columns=['c1','c2','c3...原创 2019-11-11 19:46:08 · 8964 阅读 · 3 评论 -
numpy 中 newaxis的用法说明(增加 数组/矩阵 维度)
简而言之,newaxis用于在使用一次时将现有数组的维度增加一个维度。即1维数组转为2维,2维数组转为3维,…等等。下面的图示很清楚地展示了newaxis的用法及作用:建议大家阅读Stack Overflow上的解答,更全面:https://stackoverflow.com/questions/29241056/how-does-numpy-newaxis-work-and-wh...原创 2019-04-18 15:43:10 · 711 阅读 · 0 评论 -
IOU(交并比)计算的python3实现
IOU定义在目标检测的评价体系中,有一个参数叫做 IoU ,简单来讲就是模型产生的目标窗口和原来标记窗口的交叠率。具体我们可以简单的理解为: 即检测结果(DetectionResult)与 Ground Truth 的交集比上它们的并集,即为检测的准确率 IoU :根据定义,IOU的取值范围是[0,1].python 代码实现# encoding: utf-8def compute_I...原创 2019-03-13 15:57:41 · 17579 阅读 · 1 评论 -
softmax 的python3实现 - 优化版本
Softmax 函数定义Softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维向量“压缩”到另一个K维实向量中,使得每一个元素的范围都在之间,并且所有元素的和为1。该函数的形式通常按下面的式子给出:其中, j = 1, …, Ksoftmax 的python3实现import numpy as npdef softmax(x): """Co...原创 2019-03-13 14:58:14 · 976 阅读 · 0 评论 -
Python拷贝(深拷贝deepcopy与浅拷贝copy区别)
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。1、copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。2、copy.deepcopy 深拷贝 拷贝对象及其子对象>>>import copy>>> a = [1,2,3,4,['a','b']] #原始对象>&g转载 2019-03-10 16:14:03 · 232 阅读 · 0 评论 -
剑指offer(二叉搜索树的第k个结点)-python2实现及解析
题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。题目来源:牛客网代码实现(python2)# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# ...原创 2019-03-03 11:57:36 · 590 阅读 · 0 评论 -
python–*args与**kwargs总结
https://zhuanlan.zhihu.com/p/28491913转载 2019-02-25 21:40:04 · 125 阅读 · 0 评论 -
剑指offer-[编程题]不用加减乘除做加法(python2实现及解析)
题目来源:牛客网题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。参考答案:class Solution: def Add(self, a, b): while(b): a,b = (a^b) & 0xFFFFFFFF,((a&b)<<1) & 0...原创 2019-02-13 19:23:18 · 2784 阅读 · 2 评论 -
动态规划实例--数组不连续取数问题(python 实现)
问题: 给定一个长度为N的一维数组 举例:输入:[1,3,5,2,1,9,4,3,7] 取数规则:不允许取连续的两个数。 求:这个数组在给定规则下取到数字的最大和是? 本例中,答案为:1+5+9+7=22解题思路 新建一个与输入数组input_num大小相同的数组max_num 记max_num[i]为前i+1天的最大训练天数(因为数组第一项是m...原创 2018-04-26 15:18:51 · 3628 阅读 · 2 评论 -
剑指offer-数组中只出现一次的数字(python实现)
剑指offer-数组中只出现一次的数字(python实现)参考牛客网讨论区思路及编程实现 https://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811问题描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。实现思路Hash表方法大家都能...转载 2018-07-24 16:51:20 · 1862 阅读 · 0 评论 -
剑指offer-数组中的逆序对计算(python实现)
剑指offer-数组中的逆序对计算(牛客网题目,python实现)问题描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 (来源-牛客网)解题思路:类似归并排序(1)递归拆分数组,直至无法拆分 (2)按从小到大顺...原创 2018-07-15 21:48:16 · 5983 阅读 · 0 评论 -
大数处理-大数相减问题 (python 编程实现)
问题描述两个长度超出常规整形变量上限的大数相减,避免使用各语言内置库。 输入 两个代表整数的字符串 a 和 b,长度超过百位。规定 a>=b,a, b > 0。 输出 返回表示结果整数的字符串。实现思路我的做法比较简单,可能不是最优方案。 就是按照我们手写除法时的方法,两个数字末位对齐,从后开始,按位相减,不够减时向前位借一。 最终结果需要去除首端的0.如果所有...原创 2018-07-26 22:12:35 · 9264 阅读 · 0 评论 -
剑指offer - 和为S的连续正数序列 (python 实现)
问题描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? 输出描述: 输出所有和为S的连续正数序列。序列内按照从小至...原创 2018-07-30 23:30:34 · 314 阅读 · 0 评论 -
python- 变量区变量保存与加载
推荐一个很简单又好用的保存python变量区变量的模块:dill https://pypi.org/project/dill/ 使用举例,保存变量区变量到文件:import dilldill.dump_session('file_name.pkl')加载文件内容到变量区dill.load_session('file_name.pkl')...原创 2018-08-09 21:28:13 · 8478 阅读 · 3 评论 -
python 类 - 带括号(实例化)与不带括号(别名)赋值的区别
标题里的描述可能不够准确,以下面这个节点类做说明。class ListNode: def __init__(self, x): self.val = x self.next = None不带括号的赋值对于: a=ListNode 相当于a指向了ListNode类,所以a与ListNode类相等。(这种描述可能不够准确,欢迎大神指正!)...原创 2018-08-12 23:04:53 · 18694 阅读 · 3 评论 -
python初始化list列表(1维、2维)-注意事项
原文出处:http://www.cnblogs.com/zqifa/python初始化list列表(1维、2维)1.初始化递增的list:list1 = range(10) print list1 [0,1,2,…,9]2.初始化每项为0的一维数组:list2 = [0] * 5 print list2 [0,0,0,0,0]3.初始化固定值的一维数组:...转载 2018-08-29 23:42:23 · 1550 阅读 · 0 评论 -
字符串匹配KMP算法的基本原理及python实现
KMP算法是字符串匹配问题中非常经典的算法。最近查找了很多相关资料,直到看到下面这两篇博客,终于理解了KMP的基本原理。 KMP算法的核心即是计算字符串M每一个位置之前的字符串的前缀和后缀公共部分的最大长度。获得M每一个位置的最大公共长度之后,就可以利用该最大公共长度快速和字符串S比较。当每次比较到两个字符串的字符不同时,我们就可以根据最大公共长度将字符串M向右移动,接着继续比较下一个位置。 ...原创 2018-09-11 22:08:18 · 949 阅读 · 3 评论 -
python str-unicode 编码转换问题
http://in355hz.iteye.com/blog/1860787转载 2018-10-13 22:01:25 · 3687 阅读 · 0 评论 -
python引用可变变量与非可变变量的区别
概念可变对象与不可变对象的区别在于对象本身是否可变。python内置的一些类型中可变对象:list dict set不可变对象:tuple string int float bool如果两个变量同时指向一个地址:扩展举例:节选,修改自:https://zhuanlan.zhihu.com/p/34395671...原创 2019-02-22 16:54:50 · 346 阅读 · 0 评论 -
python2 input,raw_input与 python3 input区别
原文链接:https://www.cnblogs.com/gengcx/p/6707024.htmlPython2.x中,input()函数让我们明确我们输入的是数字格式还是字符格式,就是我们自己要知道我们想要的是什么,数字格式直接输入,字符格式必须加上单引号或者双引号,以确定我们输入的是字符串。raw_input()函数无论用户输入什么,都默认为字符格式在Python3中是将Pytho...转载 2019-02-18 19:52:49 · 215 阅读 · 0 评论 -
常见排序算法总结与实现(python)
常见排序算法总结与python实现常见排序算法总结与python实现插入排序:代码实现冒泡排序:代码实现快速排序代码实现堆排序代码实现归并排序代码实现 说明: 稳定性定义:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列...原创 2018-03-15 15:40:30 · 491 阅读 · 0 评论