
python
chou_shun
此人很懒,嘛也没有写
展开
-
pandas:重命名index、columns,分箱
上文说到了怎么对DataFrame中的值进行转换,那么如果想对索引进行转换,应该怎么做呢?重命名轴索引第一种方法:暴力地重定义直接对index,columns属性进行重赋值即可:import numpy as npimport pandas as pda = pd.DataFrame(np.arange(12).reshape((3, 4)), in...原创 2020-03-19 10:21:38 · 3378 阅读 · 0 评论 -
动态规划解决问题:编辑距离与解码方法
动态规划是解决很多算法的不二法宝。它的思想可以概括为:根据上一个状态的值,来判断现在状态的值。因此,在这类题目中,重点是在找出上一个状态和现在状态的联系。具体的理论就不扯了,还是直接上题目叭编辑距离这道题目是leetcode上的一道困难题。乍一看题目可能会感觉无从下手,因为word1和word2从直观上来看很难看出联系。那么,我们尝试利用动态规划,找出状态之间的联系我们令D[i]...原创 2020-03-12 21:59:55 · 1531 阅读 · 0 评论 -
Sunday算法:查找字符串
Sunday算法是用于查找子串的一种算法,具体的应用场景看这里相比于KMP,BM算法,Sunday算法更快,并且更好理解(自认为哈下面用比较正式的语言介绍一下该算法:原字符串为文本串,匹配的子串为模式串。从前往后匹配,在匹配失败时,关注的是文本串中参加匹配的最末位字符的下一位字符。—如果该字符没有在模式串中出现则直接跳过,即移动位数 = 匹配串长度 + 1;—否则,其移动位数 = 模...原创 2020-03-05 19:01:30 · 293 阅读 · 0 评论 -
python序列函数:enumerate,zip,reversed
enumerate:追踪索引在遍历一个序列的时候,我们往往想追踪该元素在序列中的索引。使用enumerate可以做到这点。该方法一般用来构建一个字典a = ['a', 'b', 'c', 'd', 'e', 'a', 'b']mapping = {}for index, value in enumerate(a): mapping[value] = indexprint(map...原创 2020-03-03 12:28:36 · 540 阅读 · 0 评论 -
python学习笔记:列表操作
与元组不同,列表的长度是可变的,它包含的内容也是可以修改的。定义列表定义列表一般有两种方式:使用中括号a = [1, 2, 3]print(a) # [1, 2, 3]使用list类型函数list函数可以将元组,字符串等类型转换为list。a = (1, 2, 3)b = "123"print(list(a), list(b)) # [1, 2, 3] ['1'...原创 2020-03-03 10:52:54 · 164 阅读 · 0 评论 -
python学习笔记:元组,乘拷贝,高级拆包
元组元组是一种固定长度、不可变的python对象序列。创建元组最简单的办法就是用逗号分隔序列值a = 1, 2, 3, 5print(a) # (1, 2, 3, 5)元组一旦创建,各个位置上的对象是无法被修改的但是,如果元组中的一个对象是可变的,则可以修改这个可变变量tup = tuple(['foo', [1, 2], True]) # 显式转换类...原创 2020-03-01 10:56:22 · 226 阅读 · 0 评论 -
python学习笔记:强类型,判断类型
强类型观察下列代码:print('5' + 5)猜猜看,会输出什么?事实上它会报错,这是为什么呢?TypeError: unsupported operand type(s) for +: 'int' and 'str'在某些语言,例如VB中,字符串‘5’可能会隐式地转换为整数,然后得到10.而在另一些语言中,例如JS,数字5可能会转换成字符串,生成一个结合字符串‘55’。在这里...原创 2020-03-01 09:48:43 · 339 阅读 · 0 评论 -
python学习笔记:浅/深拷贝,切片,函数传参
前文讲了一点python的对象机制,其实是为了本文服务的。浅/深拷贝为变量赋值(其实是为对象建立引用)一般有三种方式:直接赋值,浅拷贝和深拷贝直接赋值就是常见的"a=b"之类,将a作为b指向的对象的一个新的引用。下面主要介绍浅拷贝和深拷贝以及两者之间的区别:浅拷贝在浅拷贝时,拷贝出来的新对象的地址和原对象是不一样的。但是新对象里面的可变元素(如列表)的地址和原对象里的可变元素的地址是...原创 2020-02-29 23:42:18 · 375 阅读 · 0 评论 -
python学习笔记:对象,可/不可变对象, +=和=+
对象先来看一个例子,解释一下python的对象机制a = 1print(id(a))a = 2print(id(a))不了解对象的同学可能会觉得,“a=1"的意思是将1赋值给变量a但是不然,该语句的意思其实是:将变量a指向一个对象,该对象的值为1。也就是说,a只是充当对象的一个引用。再看语句"a=2”,同样地,该语句的意思是:将变量a指向另一个对象,该对象的值为2。并不是把2赋...原创 2020-02-29 11:59:36 · 259 阅读 · 0 评论