
python基础
Darin2017
Python兴趣
展开
-
日常透视分析
【代码】日常透视分析。原创 2023-03-07 11:49:36 · 145 阅读 · 0 评论 -
lambda函数
lambda函数:x=[1,2,3]y=list(map(lambda x:x*2,[i for i in x]))print(y)lambda用法详解:(1)直接赋给一个变量,然后再像一般函数那样调用c=lambda x,y,z:x*y*zc(2,3,4)24当然,也可以在函数后面直接传递实参(lambda x:x**2)(3)9(2)将lambda函数作为参数传递给其他函数比如说结合map、filter、sorted、reduce等一些Python内置.原创 2021-10-28 17:47:06 · 331 阅读 · 0 评论 -
Pandas数据预处理
1、列空值判断:for column in data.columns: cnt=sum(data[column].isnull()==True) print(column,float(cnt)/n)补充:#判断列空值的个数,如果找非空值个数,则将True改为Falsesum(data.iloc[:,column].isnull() == True)#判断行空值的个数,如果找非空值个数,则将True改为Falsesum(data.iloc[index,:].isnull() ==原创 2021-06-07 18:34:51 · 404 阅读 · 0 评论 -
python随笔
Python 定时任务的实现方式:https://www.cnblogs.com/fengff/p/11011000.html原创 2021-01-20 17:57:26 · 145 阅读 · 0 评论 -
python-pyecharts作图踩坑
做Line图日期同环比数据的时候,若横坐标为1,2,3。。。31,纵轴标识为2020-10,2020-09,2019-10类似情况时,可能会出现y1对应x2的情况,即,Y轴从第二个X的数据开始对应,是由于X取值是数字列表,需要把数字转换为字符串,即可解决这一问题。代码如下:l1=(Line().add_xaxis(list(data[‘日’][data[‘类型’]==‘总计’][data[‘年月’]tong].map(str))).add_yaxis(ben,list(data[‘收入’][data原创 2020-10-22 14:11:06 · 846 阅读 · 0 评论 -
python安装包来源
http://pypi.mirrors.ustc.edu.cn/http://pypi.sdutlinux.org/http://pypi.hustunique.com/http://pypi.douban.com/simple/http://mirrors.aliyun.com/pypi/simple/https://pypi.tuna.tsinghua.edu.cn/simple/原创 2020-08-03 17:19:10 · 460 阅读 · 0 评论 -
Python3学习笔记27——virtualenv(隔离环境)
如果我们要同时开发多个应用程序,那这些应用程序都会供用一个Python,就是安装在系统的Python3.如果应用A需要jinjia2.7,而应用B需要jinja2.6怎么办?在这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。...原创 2019-04-16 17:06:46 · 380 阅读 · 0 评论 -
Python3学习笔记26——PIL
安装PIL(Pillow)pip install PIL卸载PILpip uninstall PILPIL:Python Imageing Library ,是Python平台上的图像处理标准库,PIL功能非常强大,但API却非常简单易用。如果遇到Permission denied安装失败,请加上sudo重试。操作图像来看看最常见的图像缩放操作,只需要三四行代码:from PIL ...原创 2019-04-16 16:56:05 · 427 阅读 · 0 评论 -
Python3学习笔记16——环境变量
Python内置的os模块可以直接调用操作系统提供的接口函数。打开Python交互式命令行,我们来看看如何使用os模块的基本功能: >>> import os >>> os.name'nt'如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是windows系统。要获取详细的系统信息,可以调用uname(...原创 2019-04-03 17:00:25 · 377 阅读 · 0 评论 -
Python3学习笔记23——itertools
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。首先,我们看看itertools提供的几个”无限“迭代器:因为count()会创建一个无限的迭代器,所以上述代码会打印出自然数序列,根本停不下来,只能按ctrl+C退出。cycle()会把传入的一个序列无限重复下去:同样停不下来。repeat()负责把一个元素无限重复下去,不过如果提供第二个参数就可以限定...原创 2019-04-12 16:49:24 · 235 阅读 · 0 评论 -
PYthon3学习笔记22——摘要算法(hashlib)
摘要算法简介Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。举个例子,你写了一篇文章,内容是一个字符串‘how to use python hashlib - by Michael’,并附上这篇文章的摘要是‘2d73d4f15c...原创 2019-04-12 16:14:39 · 699 阅读 · 0 评论 -
Python3学习笔记32——数据库
程序运行的时候,数据都是在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件。而如何定义数据的存储格式就是一个大问题。如果我们自己来定义存储格式,比如保存一个班级所有学生的成绩单:你还可用JSON格式保存,也是文本文件:你还可以定义各种保存格式,但是问题来了:存取和读取需要自己实现,JSON还是标准,自...原创 2019-05-14 16:17:03 · 241 阅读 · 0 评论 -
PYthon3学习笔记25——urllib
urllib提供了一系列用于操作URL的功能。Geturllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应:例如,对豆瓣的一个URLhttps://read.douban.com/ebook/34157247/进行抓取,并返回相应:from urllib import requestwith request.urlo...原创 2019-04-15 17:38:24 · 219 阅读 · 0 评论 -
Python3学习笔记28——Tkinter(GUI程序)
Python支持多种图形界面的第三方库,包括:TKwxWidgetsQtGTK等等。但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用。下面介绍如何使用Tkinter进行GUI编程。Tkinter我们来梳理一下概念:我们编写Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口;Tk是一个图形库,支持...原创 2019-04-16 18:07:34 · 1154 阅读 · 0 评论 -
Python3学习笔记29——Socket(网络编程)
Socket是网络编程的一个抽象概念。通常我们用一个Socket表示”打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。客户端大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。如果一切顺利,新...原创 2019-04-17 14:44:58 · 380 阅读 · 0 评论 -
Python3学习笔记30——发送HTML邮件(带附件图片)
如果我们要发送HTML邮件,而不是普通的纯文本文件怎么办?方法很简单,在构造MIMEText对象时,把HTML字符串传进去,再把第二个参数由plain变为html就可以了:发送附件如果Email中要加上附件怎么办?带附件的邮件可以看作包含若干部分的邮件:文本和各个附件本身,所以,可以构造一个MIMEMultipart对象代表邮件本身,然后往里面加上一个MIMEText作为邮件正文,再继续往...原创 2019-04-29 16:47:10 · 2236 阅读 · 0 评论 -
Python3学习笔记30——email
Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。几乎所有的编程语言都支持发送和接收电子邮件。假设我们自己的电子邮件地址是me@163.com,对方的电子邮件地址是friend@sina.com(注意地址都是虚构的哈),现在我们用Outlook或者Foxmail之类的软件写好邮件,填上对方的Email地址,点“发送”,电子邮件就发出去了。这些电子邮件软件被称...原创 2019-04-29 16:48:42 · 1041 阅读 · 0 评论 -
Python3学习笔记33——HTML基础
HTML长什么样?我们看一下新浪的HTML源码,竟然有6000多行!所以,学HTML,就不要指望从新浪入手了。我们来看看最简单的HTML长什么样:<html><head> <title>Hello</title></head><body> <h1>Hello,小猫咪,奶昔,你们好!<...原创 2019-05-16 15:22:55 · 351 阅读 · 0 评论 -
Python3学习笔记31——pop3收取邮件
SMTP用于发送邮件,如果要收取邮件呢?收取邮件就是编写一个MUA作为客户端,从MUA把邮件获取到用户的电脑或者手机上。收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3。Python内置一个poplib模块,实现了POP3协议,可以直接用来收邮件。注意到POP3协议收取的不是一个已经可以阅读的邮件本身,而是邮件的原始文本,这和SMTP协议很像,SMTP发送的也是经过编码后的一大...原创 2019-06-13 10:50:36 · 541 阅读 · 0 评论 -
Python3学习笔记17——json
JSON如果我们要在不同的变成语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法时序列化为JSON,因为JSON表出出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在WEB页面中读取,非常方便。JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类...原创 2019-06-13 10:51:43 · 194 阅读 · 0 评论 -
Python3学习笔记08——排序算法
排序是程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小,如果是数字,可以直接比较,但如果是字符串或者两个dict呢?这时需要通过函数抽象出来。对于两个元素x和y,如果认为x<y,则返回-1,如果认为x=y,则返回0,如果认为x>y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序。Python内置的sorted()函数就可...原创 2019-03-08 17:48:27 · 270 阅读 · 0 评论 -
Python3学习笔记21——Base64
Base64是一种用64个字符来表示任意二进制数据的方法。用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种常见的二进制编码方法。Base64的原理很简单,首先,准备一个包含64个字符的数组:[‘A’,‘B’,‘C’,…...原创 2019-04-12 14:02:21 · 334 阅读 · 0 评论 -
Python3学习笔记24——XML
XML虽然比JSON复杂,在web中应用也不如以前多了,不过仍有很多地方在用,所以,有必要了解如何操作XML。DOM vs SAX操作XML有两种方法:DOM和SAX。DOM会把整个XML读入内存,解析为树,因此占用内存大,解析慢,优点是可以任意遍历树的节点。SAX是流模式,边读边解析,占用内存小,解析快,缺点是我们需要自己处理事件。正常情况下,优先考虑SAX,因为DOM实在太占内存。在P...原创 2019-04-15 16:47:20 · 186 阅读 · 0 评论 -
Python3学习笔记15——同步IO
IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据时在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是往外发数据,交过Output,随后新浪服务器把网页发过来,...原创 2019-04-02 18:07:46 · 203 阅读 · 0 评论 -
Python3学习笔记12——获取对象类型
当我们拿到一个对对象的引用时,如何知道这个对象是什么类型,有哪些方法呢?使用type()首先,我们来判断对象类型,使用type()函数:基本类型都可以用type()判断:如果一个变量指向函数或者类,也可以用type()判断:但是type()函数返回的是什么类型呢?它返回对应的Class类型。如果我们要在if语句中判断,就需要比较两个变量的type类型是否相同:判断基本数据类型可以...原创 2019-03-15 17:58:27 · 4822 阅读 · 3 评论 -
用Python递归实现汉诺塔问题
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。代码:def move(a,b):print(a,’–>’,b)def hannu...原创 2019-03-04 17:33:21 · 380 阅读 · 0 评论 -
Python3学习笔记05—函数之可变参数
可变参数:在Python中,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。例子:给定一组数字a,b,c……,请计算a²+b²+c²+……。由于参数个数不确定,我们首先想到的是可以把a,b,c,……作为一个list或tuple传进来,这样,函数可以定义如下:def calc(numbers):sum=0for n in numbers:sum=sum+n...原创 2019-03-04 17:19:23 · 762 阅读 · 0 评论 -
Python3学习笔记07——map和reduce的使用
#利用map()函数,把用户输入的不规范名字,变为规范名字(首字母大写,其他小写)def normalize(name): name=name[0].upper()+name[1:].lower() return nameL1=['adam','LISA','barT']L2=list(map(normalize,L1))print(L2)#编写一个prod()函数,...原创 2019-03-06 18:04:41 · 216 阅读 · 0 评论 -
Python3学习笔记06——列表创建及生成器
在Python中使用for循环是,只要作用于一个可迭代对象,for循环就可以正常运行,而我们不太关心该对象究竟是list还是其他数据类型。那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:from collections.abc import Iterabler=isinstance('ABC',Iterable) # str是否可迭代...原创 2019-03-06 15:04:36 · 462 阅读 · 0 评论 -
Python3学习笔记03
为了让计算机能计算成千上万次的重复计算,我们就需要用到循环语句。Python的循环有两种,一种是for……in循环,依次把list或tuple重的每个元素迭代出来;range可以生成一个整数序列,range(5)能生成一个从0开始,到小于5的整数序列;sum=0for x in range(101)sum=sum+xprint(sum)即可求出1至100的整数相加的和。第二种循环是...原创 2019-02-26 17:09:54 · 149 阅读 · 0 评论 -
PYthon3学习笔记04-函数
Python内置的 hex() 函数把一个整数转换成十六进制表示的字符串;在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块儿中编写函数体,函数的返回值用return语句返回。例如:def my_abs(x):if x>=0:return xelse :returun -x如果想定义一个什么事也不做的空函数,可以用pas...原创 2019-02-26 17:05:09 · 264 阅读 · 0 评论 -
Python3学习笔记01
Python程序是大小写敏感的,如果写错了大小写,程序会报错。Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和09,af表示,例如: 0xff00 , 0xa5b4c3d2 ,等等。整数和浮点数在计算...原创 2019-02-20 16:50:46 · 156 阅读 · 0 评论 -
Python3学习笔记02
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。用[ ] 表示用len()函数可以获得list元素的个数;用索引来访问list中的元素时,索引时从0开始的;最后一个元素的索引时len()-1;list时一个可变的有序表,可以往list中追加元素到末尾:列表名.append();也可以把元素插入到指定的位置,不如索引号为1的位置:列...原创 2019-02-22 16:19:13 · 143 阅读 · 0 评论 -
python3导入xls文件并作图
作为一个初学者,搜了各种资料,终于前进了一小步,把代码传上来,以供自己回顾学习历程。难点:1、列表字符串转化为数字;2、做多张表;3、横坐标日期间隔,隔一个显示,不然会重叠。代码:-- coding: utf8 --import xlrdimport numpy as npimport matplotlib.pyplot as pltdata = xlrd.open_workb...原创 2019-01-25 18:20:31 · 1107 阅读 · 0 评论 -
Python3学习笔记08——过滤序列
Python内建的filter()函数用户过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后依据返回值是True还是False决定包留还是丢弃该元素。例如:在一个list中,删掉奇数,只保留偶数,可以这么写:def is_odd(n): return n%2==0L=list(filt...原创 2019-03-12 15:49:30 · 332 阅读 · 0 评论 -
Python3学习笔记09——函数作为返回值
高阶函数除了可以接受函数作为参数外,还可把函数作为结果值返回。可变参数的求和,通常情况下,是这样定义的:def calc_sum(*args): ax=0 for n in args: ax=ax+n return axprint(calc_sum(1,3,5))输出结果:9但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可...原创 2019-03-12 15:49:59 · 307 阅读 · 0 评论 -
Python3学习笔记20——collections
collections是Python内建的一个集合模块,提供了许多有用的集合类。namedtuple我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:p=(1,2)但是,看到(1,2)很难看出这个tuple是用来表示一个坐标的。定义一个class又小题大做了,这时,namedtuple就派上了用场:from collections import namedtupl...原创 2019-04-11 18:21:11 · 165 阅读 · 0 评论 -
Python3学习笔记19——内建模块(datetime)
datetime是Python处理日期和时间的标准库。获取当前日期和时间from datetime import datetimenow=datetime.now()print(now)print(type(now))输出结果:2019-04-10 15:40:35.427861<class ‘datetime.datetime’>注意到datetime是模块,d...原创 2019-04-11 14:25:02 · 260 阅读 · 0 评论 -
Python3学习笔记13——定制class的方法
通过callable()函数,我们可以判断一个对象是否是“可调用”对象>>> callable(max)True>>> callable(None)False当我们需要定义常量时,一个办法时用大写变量通过整数来定义,例如月份:JAN=1FEB=2MAR=3……NOV=11DEC=12好处时简单,缺点是类型是int,并且仍然是变量。更好...原创 2019-03-28 17:42:51 · 378 阅读 · 0 评论 -
Python3学习笔记18——re模块
Python提供re模块,包含所有正则表达式的功能。由于Python的字符串本身也用\转义,所以要特别注意:s=‘ABC\-001’ #Python的字符串#对应的正则表达式字符串变成:#’ABC-001’因此我们强烈建议使用Python的r前缀,就不用考虑转义的问题:s=r’ABC-001’ #Python的字符串#对应的正则表达式字符串不变:#‘ABC-001’先看看如何判断...原创 2019-04-10 15:20:57 · 490 阅读 · 0 评论