![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 63
baidu-liuming
机器学习 深度学习 大数据 自然语言处理 linux python shell hive 算法
展开
-
python中初始化二维数组
Python中初始化一个5 x 3每项为0的数组,最好方法是:multilist = [[0 for col in range(5)] for row in range(3)]没错,那我们初始化一个二维数组时,是否可以这样做呢:multi = [[0] * 5] * 3其实,这样做是不对的,因为[0] * 5是一个一维数组的对象,* 3的话只是把对象的引用复制了3次,比如,我修改multi[0][0]:multi = [[0] * 5] * 3multi[0][0] = 'Love Chin转载 2021-03-29 15:54:58 · 821 阅读 · 0 评论 -
【Python 模块学习】NumPy中的维度(dimension)、轴(axis)、秩(rank)的含义
NumPy的时候,其中最重要的就是学习它的 ndarray 对象,它是多维度的同数据类型的数组。这个和Python自带的列表有较大的区别,列表中的元素类型是可以不相同的,如一个列表中,它可以包含数字、字符、字符串等,而在数组中,它的数据类型是相同的,如都是整型或者浮点型。为什么Python中已经有了列表之后,在NumPy中还要引进一个数组对象呢?有以下三点可以作为参考,但在本文中不做具体描述:数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据设置专门的数组对象,经过优化,可以提升这类应用.转载 2021-03-16 20:30:13 · 1303 阅读 · 0 评论 -
python 不以科学计数法输出
文章目录numpy不以科学计数法输出numpy不以科学计数法输出pandas不以科学计数法输出,最大显示无省略号行列【10*10】print不以科学计数法输出numpy不以科学计数法输出numpy不以科学计数法输出np.set_printoptions(suppress=True)pandas不以科学计数法输出,最大显示无省略号行列【10*10】pd.set_option('display.max_columns', 10, 'display.max_rows', 10,'display.flo转载 2021-03-15 11:43:36 · 2392 阅读 · 0 评论 -
python的with关键字
文章目录前沿格式原理自定义类应用场景前沿with表达式其实是try-finally的简写形式。但是又不是全相同。格式"""格式with context [as var]: pass"""其中的context是一个表达式,返回的是一个对象,var用来保存context表达式返回的对象,可以有单个或者多个返回值。with open('1.txt') as f: print(f.read()) print(f.closed)表达式open(‘1.txt’)返回是一转载 2021-03-15 10:51:26 · 136 阅读 · 0 评论 -
Python的MRO
Python的MRO即Method Resolution Order(方法解析顺序),即在调用方法时,会对当前类以及所有的基类进行一个搜索,以确定该方法之所在,而这个搜索的顺序就是MRO。在Python2.3之前,MRO的实现是基于DFS的,而在Python2.3以后MRO的实现是基于C3算法(我这里两种算法的具体实现都不详述)。C3算法最早被提出是用于Lisp的,应用在Python中是为了解决原来基于深度优先搜索算法不满足本地优先级,和单调性的问题。本地优先级:指声明时父类的顺序,比如C(A,B),转载 2021-01-25 19:15:12 · 140 阅读 · 0 评论 -
理解Python中super()
1.单继承在单继承时,super().init()与Base.init()是一样的。super()避免了基类的显式调用。代码如下:Base.init()class Base(object): def __init__(self): print 'Create Base'class A(Base): def __init__(self): Base.__init__(self) print 'Create A'A()# 测试结转载 2021-01-25 19:01:43 · 150 阅读 · 0 评论 -
python生成uuid的方法
UUID(Universally Unique Identifier)是通用唯一识别码,在许多领域用作标识,比如我们常用的数据库也可以用它来作为主键,原理上它是可以对任何东西进行唯一的编码的。作为新手一看到类似varchar(40)这样的主键就觉得有点蒙圈了,字符串型也不能自增啊,这里就应该应用UUID了。数据库一般都有自己的办法生成UUID,但虽然可以用,但这玩意考虑到可读性和有点坑的长度还是尽量不要用这玩意做主键···咳,有点跑题··· 下面就简单说明一下转载 2020-12-28 22:02:06 · 1040 阅读 · 0 评论 -
python提取字符串中的数字
python 提取一段字符串中去数字ss = “123ab45”方法一:filterfilter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。str.filter:如果字符串只包含数字则返回 True 否则返回 False。filter(str.isdigit, ss)别处copy的filter的用法转载 2020-08-08 18:53:35 · 6597 阅读 · 0 评论 -
python二维数组操作
二维数组的初始化n = 3m = 3dp = [[0] * n] * mdp[0][1] = 1print dp# output:# [[0, 1, 0], [0, 1, 0], [0, 1, 0]]上面这段代码是想修改二维数组第1行第2列的数,可是居然三列都改了……https://www.cnblogs.com/woshare/p/5823303.html看了woshare的博客后,豁然开朗了matrix = [array] * 3……也就是说matrix = [array]转载 2020-06-08 20:14:38 · 759 阅读 · 0 评论 -
python pickle
Python中的Pickle操作(pkl文件解释)原创 2020-05-28 13:11:18 · 143 阅读 · 0 评论 -
python的map和filter函数
map():https://www.runoob.com/python/python-func-map.htmlfilter():https://www.runoob.com/python/python-func-filter.html原创 2020-05-28 10:39:26 · 236 阅读 · 0 评论 -
python list实现队列和栈功能
添加:队列和栈都是从尾部/顶部添加元素:则直接使用append()即可删除:list的pop函数,默认pop()删除列表的最后一个元素,符合栈的模式 list.pop(idx) 删除列表第idx个元素,则pop(0),就是删除队列头部元素获取长度:len获取栈顶元素:list[-1]获取队列头部元素: list[0]...原创 2020-04-21 21:20:03 · 1221 阅读 · 0 评论 -
python中的urlencode与urldecode
文章目录一、urlencode二、urldecode当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至’/'做一下编码转换。所以对于一些中文或者字符,url不识别的,则需要进行转换,转换结果如下:一、urlencodeurllib库里面有个urlencode函数,可以把key-value这样的键...转载 2020-04-21 20:33:06 · 3372 阅读 · 0 评论 -
Python-lambda用法
1.一个语法在Python中,lambda的语法是唯一的。 其形式如下:lambda argument_list: expression其中,lambda是Python预留的关键字 ,argument_list和expression由用户自定义。具体介绍如下。1. 这里的argument_list是参数列表,它的结构与Python中函数(function)的参数列表是一样的。 具体来说,a...转载 2020-03-22 17:36:13 · 196 阅读 · 0 评论 -
python str转dict
两种方法捷径eval(str)user = "{'name' : 'jim', 'sex' : 'male', 'age': 18}"type(user)<type ‘str’> b=eval(user) b{‘age’: 18, ‘name’: ‘jim’, ‘sex’: ‘male’}type(b)<type ‘dict’>关于eval()的...转载 2019-12-23 21:30:23 · 1529 阅读 · 0 评论 -
python enumerate() 函数
描述enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。语法以下是 enumerate() 方法的语法:enumerate(sequence, [start=0])参数sequence – 一个序列、迭代器或其他支持迭代对象。start – 下标起始位置。返回值返回 enume...转载 2019-11-03 20:55:45 · 312 阅读 · 0 评论 -
Pandas
1. Numpy和Pandas的不同: Numpy是列表形式,没有数值标签;Pandas是字典形式2. Pandas的两个主要的数据结构Series和DateFrame 1. Series索引在左边,值在右边。若未指定索引,自动创建0到N-1(N为长度)的整数型索引 import pandas as pdimport numpy as nps=pd.Series([1,3,6,np....原创 2018-02-22 22:03:38 · 185 阅读 · 0 评论 -
python连接两个list
除了直接相加(生成新的list),还有两种方法(修改其中一个list):1.用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如:>>> L1 = [1, 2, 3, 4, 5]>>> L2 = [20, 30, 40]>>> L1.extend(L2)>>> L...转载 2019-07-28 16:34:34 · 19921 阅读 · 0 评论 -
python计算,指定的日期,后n天,前n天是哪一天
#!/usr/bin/python#coding=UTF-8import datetimedef getday(y=2017,m=8,d=15,n=0): the_date = datetime.datetime(y,m,d) result_date = the_date + datetime.timedelta(days=n) d = result_date.st...转载 2019-07-28 20:46:56 · 1098 阅读 · 0 评论 -
python 同时遍历俩个列表
两个list, 有对应关系,希望同时完成遍历用迭代器迭代的方法也不是不可以,python提供了更直观的方法:可以使用zip把两个list打包 ,类似:list1 = [1,2,3,4]list2 = [5,6,7,8]for (i1, i2) in zip(list1,list2): i3 = i1+i2 print i3...转载 2019-07-28 20:47:46 · 4233 阅读 · 0 评论 -
python列表和字符串的三种逆序遍历方式
列表的逆序遍历a = [1,3,6,8,9]print("通过下标逆序遍历1:")for i in a[::-1]: print(i, end=" ")print("\n通过下标逆序遍历2:")for i in range(len(a)-1,-1,-1): print(a[i], end=" ")print("\n通过reversed逆序遍历:")for i in r...转载 2019-09-16 17:04:37 · 1554 阅读 · 0 评论 -
Python MD5加密详解以及多次加密的坑
在python中可以使用hashlib这个库来使用MD5加密:import hashlib在使用MD5加密的使用要注意加密内容的编码格式:import hashlib //导入hash库函数md5_object = hashlib.md5() //创建一个MD5对象md5_object.update(b'admin') //添加去要加密的...转载 2019-09-16 17:28:00 · 666 阅读 · 0 评论 -
pandas.read_csv中的usecols函数实现读取指定列
官方解释如下:usecols : list-like or callable, default None常用的用法为:pandas.read_csv(‘file_name.csv’, usecols = [0,1,2,3]) 读取0,1,2,3也就是前四列,中间的数可以任意指定...转载 2019-07-28 16:26:58 · 21210 阅读 · 2 评论 -
python文件读read()、readline()、readlines()对比
正文读取文件的三个方法:read()、readline()、readlines()。均可接受一个变量用以限制每次读取的数据量,但通常不使用。本章目的是分析和总结三种读取方式的使用方法和特点read方法特点是:读取整个文件,将文件内容放到一个字符串变量中。劣势是:如果文件非常大,尤其是大于内存时,无法使用read()方法。file = open('兼职模特联系方式.txt', 'r') ...转载 2019-07-28 16:22:18 · 109 阅读 · 0 评论 -
如何检查python中的值是否为nan?
float(‘nan’)是Nan不是一个数字,我该如何判断一个值为nan,有什么简单的方法么?使用math.isnan()来进行判断>>> import math>>> x=float('nan')>>> math.isnan(x)True...转载 2019-07-31 21:31:38 · 5467 阅读 · 0 评论 -
Python管理内存
Python对内存的管理要从三个方面来说:1.对象的引用计数机制、2.垃圾回收机制、 3.内存池机制1. 对象的引用机制Pyhton的内部使用引用计数,来保持内存中的对象,所有对象都有引用计数。(1) 引用计数增加:一个对象分配一个新名称将其放入一个容器中(列表、元素或字典)(2) 引用减少的情况使用del语句将对象的别名显式的销毁引用被重新赋值 获取应用对...原创 2018-05-31 10:41:44 · 1581 阅读 · 0 评论 -
Python从excel读取数据,并使用scipy进行散点的平滑曲线化方法
首先给出一个没有smooth过的曲线import xlrdimport numpy as npimport matplotlib.pyplot as plt from scipy.interpolate import spline workbook = xlrd.open_workbook("/Users/lm/Documents/实验一/算法对比.xlsx")sheet_01 = w...原创 2018-02-23 15:21:27 · 3452 阅读 · 1 评论 -
numpy 辨异 —— numpy.ravel() vs numpy.flatten()
首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。1. 两者的功能>>> x...转载 2018-02-22 22:24:23 · 123 阅读 · 0 评论 -
绘制标准的sigmoid图像
import numpy as npimport matplotlib.pyplot as pltx=np.linspace(-6,6,1000) #这个表示在-5到5之间生成1000个x值y=[1/(1+np.exp(-i)) for i in x] #对上述生成的1000个数循环用sigmoid公式求对应的yplt.xlim((-6,6))plt.ylim((0.00,1.00)...原创 2018-02-22 22:15:13 · 7051 阅读 · 0 评论 -
Python基础
while 循环:1.将while永远执行下去:while True: print("I'm True")2. while的条件如果等于0或者0.0将返回3. while后接语句数据类型None将返回false4. python集合类型List、tuple、dict、set,while循环如果集合为空的时候false;a=range(10)while a: print(a[-1]...原创 2018-02-10 16:00:08 · 697 阅读 · 0 评论 -
python 多维切片之冒号和三个点
初学python和numpy,对在学习多维切片的过程中遇到的问题做个总结。 一维切片就不说了,比较简单,先说下二维的,二维的理解了多维的就简单了。举个例子先建立一个5x5的二维数组 多维的切片是按照各个维度分别取 比如 这里就分别输出第一维的2-3和第二维的3-5(索引从0开始)。 这里是行取全部,列取第3-5。 这里应该是大家最疑惑的地方了,为什么列的参数改成None,输出的shape都变...转载 2018-02-22 14:31:06 · 2230 阅读 · 0 评论 -
Numpy
1. Numpy的属性 ndim:维度; shape:行数和列数; size:元素个数import numpy as nparr=np.array([[1,2,3],[2,3,4]])print(arr.ndim, arr.shape, arr.size) #:2 (2,3) 62. Numpy的创建 1.用arange创建连续数组:print(np.aran...原创 2018-02-14 22:36:36 · 218 阅读 · 0 评论 -
python--通过可变参数计算n个数的乘积
list=[]def the_input(count=eval(input("输入乘数的总个数:"))): for i in range(count): N=eval(input("依次输入参数")) list.append(N) print('一共有',count,'个参数')the_input()def get_mul(*num):转载 2018-02-05 17:15:52 · 7614 阅读 · 1 评论 -
Python中常见的面试题
1. 到底什么是Python?Python是一种解释性语言。Python代码在运行之前不需要编译。其它解释性语言还包括PHP和Ruby。Python是动态类型语言,指的是在声明变量时,不需要说明变量的类型。Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。Python中没有访问说明符(类...原创 2018-06-01 11:03:02 · 4292 阅读 · 0 评论 -
pandas打印结果出现省略的解决方案
pandas打印结果的列数或者行数过多,导致出现省略号的解决方案(临时):如图:5行12列只显示出来5行2列暂时可行的解决方案:设置最大显示的行数:pd.set_option(‘display.max_columns’,1000)pd.set_option(‘display.max_columns’,None)设置显示的宽度:pd.set_option(‘display.widt...转载 2019-07-22 00:44:47 · 3832 阅读 · 0 评论 -
Python跳过第一行读取文件内容
Python编程时,经常需要跳过第一行读取文件内容。比较容易想到是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作。相应的Python代码如下:input_file = open("C:\\Python34\\test.csv")line_num = 0for line in islice(input_file, 1, None): line_...转载 2019-07-22 00:01:19 · 5108 阅读 · 0 评论 -
python写入csv文件中文乱码解决方案
问题最近处理数据时需要将txt文件转化成csv格式,txt中正常存储显示的中文在写入到csv文件时变成了乱码,文件的编码未能正确处理中文,需要在写入csv文件时指定编码。解决方法 csvfile = file('data.csv', 'wb')# Display chinese correctlycsvfile.write(codecs.BOM_UTF8)spamwriter = cs...转载 2019-07-21 23:58:39 · 17040 阅读 · 6 评论 -
Pandas的qcut()与cut()
cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)需要将数据值分段并排序到bins中时使用cut。 此函数对于从连续变量转换为离散变量也很有用。 例如,cut可以将年龄转换为年龄范围组。 支持bins到相同数量的箱柜或预先指定的bins阵列。x: 进行划分的一维数组bins :1...转载 2019-07-21 17:01:57 · 4058 阅读 · 0 评论 -
Python中__init__和self的意义和作用
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:注意:特殊方法“init”前后分别有两个下划线!!!注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到sel...转载 2019-06-24 10:49:39 · 24301 阅读 · 2 评论 -
Python:eval的妙用和滥用
eval()函数十分强大,官方demo解释为:将字符串str当成有效的表达式来求值并返回计算结果。so,结合math当成一个计算器很好用。其他用法,可以把list,tuple,dict和string相互转化。见下例子:a = “[[1,2], [3,4], [5,6], [7,8], [9,0]]”b = eval(a)bOut[3]: [[1, 2], [3, 4], [5, 6],...转载 2019-01-21 15:52:51 · 424 阅读 · 0 评论