Python
贾公子
talk is cheap,show me the code
展开
-
二叉树的两种遍历方式
# 二叉树的遍历可分为两种'''1.广度优先遍历分层把元素放到 队列中,进行遍历2.深度优先遍历前序,中序,后序遍历,使用堆栈和递归的方式'''# 广度优先遍历一颗二叉树def bfsTree(self): if sele.root =None: return None queue =[] queue.append(self.root) while queue: node=queue.pop(0) print(node.element,end =',') if.原创 2021-07-14 18:07:02 · 492 阅读 · 0 评论 -
贪婪算法的集合覆盖问题
#贪婪算法 以寻找局部最优解来找全局最优解,是一种近似算法,基于集合# 广播台分别覆盖的州stations = {}stations["kone"] = set(["id", "nv", "ut"])stations["ktwo"] = set(["wa", "id", "mt"])stations["kthree"] = set(["or", "nv", "ca"])stations["kfour"] = set(["nv", "ut"])stations["kfive"] = set([原创 2021-07-14 16:29:40 · 246 阅读 · 0 评论 -
迪克斯特拉算法python有向无环图
#迪克斯特拉算法#处理有向无环图,在加权途中寻找最短路径,不能将狄克斯特拉算法用于包含负权边的图#查询消费最小的节点def find_lowst_node(costs,process): lowest_cost = float('inf') lowest_cost_node = None for node in costs: cost = costs[node] if cost<lowest_cost and node not in process: lowest_co原创 2021-07-14 15:55:42 · 441 阅读 · 0 评论 -
广度优先搜索bfs
# 广度优先搜索 bfs#图的查找方法,可回答两种问题1.从A出发有前往B的路径吗?2.从A前往B的最短路径是哪条?# 寻找朋友中以m结尾的人from collections import deque# who is the person def whoperson(name): return name[-1] ='m' # bfs # deque是一个双向链表,提供了两端都可以操作的序列 def bfs(graph,name): search_queue =deque() s原创 2021-07-14 15:33:58 · 110 阅读 · 0 评论 -
二分查找,选择排序,快速排序,归并排序,冒泡排序
# 二分查找 平均时间复杂度logndef bianryfind(list,item): low =0; high= len(list)-1 while low <= high: mid = int((low+high)/2) guess= list[mid] if guess == item: return guess else if guess>item: high = mid-1 else: low =mid+1 return None原创 2021-07-14 14:45:03 · 118 阅读 · 0 评论 -
pandas求偏度skew
偏度(skewness),是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。偏度(Skewness)亦称偏态、偏态系数。表征概率分布密度曲线相对于平均值不对称程度的特征数。直观看来就是密度函数曲线尾部的相对长度。定义上偏度是样本的三阶标准化矩:DataFrame.skew(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)参数:axis : {index (0), columns (1)}定义计算原创 2021-07-13 17:13:32 · 1827 阅读 · 0 评论 -
离散型特征的编码方式one-hot编码
转自one-hot 编码pandas 对one-hot编码的函数为:pd.getdummies()sklearn中的one-hot编码;sklearn中的不同编码方式one -hot编码又称为有效一位编码,主要由N位状态寄存器对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,只有一位有效。one-hot编码是分类变量作为二进制向量的表示,首先要求分类值映射到整数值,然后每个整数值表示为二进制向量,除了整数索引之外,都是零值,其他被标志为1....转载 2021-07-12 14:27:44 · 392 阅读 · 0 评论 -
BOX-COX变换
box-cox变换是统计建模中的一项常用变换。即方差稳定变换。用于连续的因变量不满足正态分布的情况。先说一下泊松分布:泊松分布是一种重尾分布,它的方差等于均值。因此均值越大,方差就越大,重尾程度就越大,,box-cox可以改变变量的分布,使得方差不再依赖于均值。例如:假设随机变量X符合泊松分布,如果通过他的平方根对它进行变换,则X’ =根号x 的方差就接近于一个常数,而不与均值相等。box-cox的变换一般形式为:式中为经Box-Cox变换后得到的新变量,y为原始连续因变量,为变换参数。以转载 2021-07-12 12:10:23 · 12172 阅读 · 0 评论 -
python中的shape[0]和shape[1]
import numpy as npk = np.matrix([[1, 2, 3, 4,6],[5, 6, 7, 8,9],[9, 10, 11, 12,13]])print(np.shape(k)) # 输出(3,5)表示矩阵为3行5列print(k.shape[0]) # shape[0]输出3,为矩阵的行数print(k.shape[1]) # 同理shape[1]输出列数5...原创 2021-07-12 10:35:22 · 4694 阅读 · 0 评论 -
批量合并TXT文件为一个文件
import importlib,sysimportlib.reload(sys)import osimport os.pathimport timetime1=time.time()##########################合并同一个文件夹下多个txt################def MergeTxt(filepath,outfile): k = open(fi...原创 2018-12-20 11:51:52 · 1345 阅读 · 1 评论 -
python3 reload(sys)错误提示
python2.x中:import sys reload(sys) sys.setdefaultencoding(‘utf-8’) python3.x中:import importlib,sys importlib.reload(sys)原创 2018-12-20 11:49:16 · 13618 阅读 · 2 评论 -
linux中python版本升级,网上好多wget网址都无法找到资源解决办法
我的服务器是从python2.6升级到2.7.14 网上大部分的前辈给的步骤,就如下面博客提到的一样: redhat 升级python到2.7 按照这个步骤wget+下载路径,下载python新版本,报错找不到资源 下面是找到下载路径的方法: (1)打开python官网的下载页面,我点击的是python2.7.14版本的下载 https://www.python.org/downloa原创 2018-04-13 16:18:10 · 938 阅读 · 0 评论 -
递归程序如何写,要满足三个条件,切记!
python中递归函数的使用:def division(n): print(n) if int(n/2)==0: return n#递归特性一:必须有一个明确的结束条件 return division(int(n/2))#递归特性而:每次递归都是为了让问题规模变小division(10)#递归特性三:递归层次过多会导致栈溢出,且效率不高原创 2018-04-12 18:07:36 · 9017 阅读 · 0 评论 -
python 最大递归次数 RuntimeError: maximum recursion depth exceeded
程序一直出错,困惑好久,有很多问题,这篇博客对于递归停止的问题讲述的很详细。https://blog.csdn.net/tangwenbo124/article/details/72822692转载 2018-04-12 18:04:34 · 531 阅读 · 1 评论 -
皮尔逊相关度
在进行影片相似度计算的时候,有的人对于影片的评分习惯偏低,有的人习惯偏高,皮尔逊方法可以修正“夸大分值”的情况。 如果某人总是倾向于给出比另一个人更高的分值,而二者的分值又始终保持一致,则他们也会存在很高的相关性。# recommendations.py# 返回p1和p2的相关系数def sim_pearson(prefs,p1,p2): # 得到双方都曾评价过的物品列表 si原创 2017-09-29 17:37:44 · 566 阅读 · 0 评论 -
python 写入、读取txt文件
with open('desc.txt','w') as f: f.write('我是个有想法的小公举')这句代码。自带文件关闭功能。 比较常用的文件读写选项: ‘r’以读的方式打开,只能读文件,若文件不存在,则发生异常; ‘w’以写的方式打开,只能写文件,如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件; ‘rb’以二进制方式打开,只能读文件,如果文件不存在,会发生原创 2017-12-11 10:22:10 · 9683 阅读 · 0 评论 -
在windows上pycharm配置spark环境
(1)分别从Hadoop官网和spark官网下载Hadoop和spark的安装包 Hadoop下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/common spark下载地址: http://spark.apache.org/downloads.html 注意版本要兼容; (2)把Hadoop和spark的安装包解压,由于他们都是非安装软件原创 2017-12-11 16:12:37 · 2960 阅读 · 2 评论 -
gensim 中文文本相似度计算
# -*- coding: utf-8 -*-import jiebaimport loggingfrom gensim import corpora, models, similaritiesfrom collections import defaultdictlogging.basicConfig(format='%(asctime)s : %(levelname)s : %(messa原创 2017-12-04 21:07:21 · 3454 阅读 · 0 评论 -
gensim 英文文本相似度
# -*- coding: utf-8 -*-"""对英文的处理"""import loggingfrom gensim import models, similarities, corporafrom collections import defaultdictimport os# 日志输出logging.basicConfig(format='%(asctime)s : %(le原创 2017-12-04 21:04:58 · 5130 阅读 · 5 评论 -
python中的sys.argv[]什么意思呢。
其实,sys.argv[]就是一个通过代码与外部命令的桥梁。 运行一个程序如图: 从上面的程序可以看出: sys.argv[0]表示程序文件本身文件名(含路径) sys.argv[1]表示运行命令的第一个参数 sys.argv[1:]表示运行命令的第二个到最后一个参数 sys.argv 表示运行命令的全部参数 所有说,sys.argv就是运行命令的一个参数list回头看程序的上面一原创 2017-12-18 17:49:32 · 10860 阅读 · 1 评论 -
python-Levenshtein几个计算字串相似度的函数解析
安装:[python] view plain copy$ pip install python-Levenshtein $ ipython >>> import Levenshtein linux环境下,没有首先安装 python_Levenshtein ,用法如下: 重点介绍几个该包中的几个计算 字串相似度 的几个函数实现。Levenshtein.hamming(str1, str转载 2018-01-23 15:50:12 · 1239 阅读 · 0 评论 -
向mysql插入数据,避免主键冲突报错 duplicate key问题
在进行对数据库进行数据插入的时候,往往因为重复插入,导致主键重复,导致程序报错,duplicate key,其实只要边插入变更新就行了,你的sql语句可能是这样写的:sql = "insert into simtable values(%s,%s,%s,%s)" % a,b,c,d当有主键重复输入时,就会报错,逐渐重复, 而,如果这样写:sql ="insert into simtable val原创 2018-01-23 16:01:14 · 5149 阅读 · 0 评论 -
python中类属性和实例属性的区别
一、类属性 (1)类属性的创建class Anamal(Object): class attr = 'class_attr' #类属性(2)类属性的访问 a、类名.属性名Anamal.attr='new_name'b、实例名.属性名instance_class = Anamal()print instance_class.attr二、实例属性 (1)实例属性的创建,通常在init(原创 2018-01-25 09:16:08 · 3552 阅读 · 0 评论 -
tensor flow :tf.where()
在tf的学习过程中,编写自己的损失函数中有这样一行代码:loss = tf.reduce_sum(tf.where(tf.greater(y,y_),(y-y_)*loss_more,y_-y)*loss_less)其中,tf.where()让人很难理解。 其实,可以简单的这样理解,tf.where(a,b,c) a条件为true时候,返回b a条件为false时候,返回c原创 2018-04-02 20:52:19 · 262 阅读 · 0 评论 -
编程困惑:如何将Unicode中原来的数据格式还原
比如像这样,我之前存在数据库中的数据,现在读出来为如下的格式,但怎样才能把里面的list重新读出来呢?解决方法:使用split(),strip()两个函数,进行各种拆分。...原创 2018-04-10 09:44:46 · 440 阅读 · 0 评论 -
十分钟搞定pandas
转自:http://www.cnblogs.com/chaosimple/p/4153083.html 本文是对pandas官方网站上《10 Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook 。习惯上,我们会按下面格式引入所需要的包:In [1]: import pandas as pdIn [2]: i转载 2017-09-27 18:55:54 · 359 阅读 · 0 评论