python
hellenlee22
这个作者很懒,什么都没留下…
展开
-
pandas 修改 DataFrame 列名
pandas 修改 DataFrame 列名问题:有一个DataFrame,列名为:[‘a′,′a', 'a′,′b’, ‘c′,′c', 'c′,′d’, ‘$e’]现需要改为:[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]有何办法?import pandas as pddf = pd.DataFrame({‘a′:[1],′a': [1], 'a′:[1],′b’: [1], ...转载 2020-03-13 22:05:04 · 118 阅读 · 0 评论 -
pandas 读写excel
pandas 读写excel>>>import pandas as pd>>> excel_path = r"C:\Users\Administrator\Desktop\R2003063 - MTO--B16.11.xlsx">>> data=pd.read_excel(excel_path)>>> writ...原创 2020-03-12 19:59:54 · 169 阅读 · 0 评论 -
pandas 修改 DataFrame 列名
pandas 修改 DataFrame 列名问题:有一个DataFrame,列名为:[‘a′,′a', 'a′,′b’, ‘c′,′c', 'c′,′d’, ‘$e’]现需要改为:[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]有何办法?import pandas as pddf = pd.DataFrame({‘a′:[1],′a': [1], 'a′:[1],′b’: [1], ...转载 2020-01-03 21:07:28 · 133 阅读 · 0 评论 -
python从__new__开始(2)由cls 和 self决定的
我还发现一个问题就是,我们一般的的类都是self必写。而__new__写的是cls,他们有什么不同。查了一波资料,cla主要用于类定义方法,而self则是实例方法。个人理解,当运行到这个方法的时候,类如果还没实例化,就是cls,否则是self。接着下面给一个例子class ClsTest: def __init__(self): print('init') print(sel...转载 2019-10-22 21:34:02 · 96 阅读 · 0 评论 -
Faker的用法
pip install FakerHow to create a ProviderHow to create a Providerfrom faker import Fakerfake = Faker()# first, import a similar Provider or use the default onefrom faker.providers import BasePr...转载 2019-06-12 10:53:41 · 1371 阅读 · 0 评论 -
python多线程的锁用法
锁机制在了解锁机制前,我们先来看一下下面这个例子:## 使用多线程进行加法运算import threading# 定义全局变量VALUEVALUE = 0# 定义加法线程函数def add_value(): global VALUE for x in range(1000000): VALUE += 1 print('value = ', ...转载 2019-06-25 18:27:30 · 2403 阅读 · 1 评论 -
python的multiprocessing模块踩坑记录
前言最近做多进程多IP爬虫,用到的multiprocessing模块有点坑,这里总结一下,python版本是3.6踩坑记录1、multiprocessing模块的子进程是不会复制父进程的数据的,这和fork函数不一样,子进程中不会有父进程中的变量,如果子进程执行的函数所需要的参数比较多,并且会有一系列函数嵌套调用,建议把子进程需要调用的全部函数与变量封装成一个类,直接将类的实例传递给子进程即...转载 2019-06-17 15:39:41 · 308 阅读 · 0 评论 -
AssertionError: Thread.__init__() not called
在使用thread的时候,定义如下类:class newThread(threading.Thread):def init(self, threadID, name, counter):threading.Thread.init(self)self.threadID = threadIDself.name = nameself.counter = counter注意:“If the...转载 2019-06-11 16:46:13 · 752 阅读 · 0 评论 -
python基础===猴子补丁
>>> class test: def A(self, x, y): return x+y >>> t = test()>>> t.A(10,20)30>>> >>> def B(self, x, y): return x*y>>> t...转载 2019-06-04 17:05:02 · 457 阅读 · 0 评论 -
并发、并行、同步、异步、多线程的区别?
并发、并行、同步、异步、多线程的区别?并发:同一时间段有几个程序都处于已经启动到运行完毕之间,并且这几个程序都在同一个处理机上运行,并发的两种关系是同步和互斥;互斥:进程之间访问临界资源时相互排斥的现象;同步:进程之间存在依赖关系,一个进程结束的输出作为另一个进程的输入。具有同步关系的一组并发进程之间发送的信息称为消息或者事件;并行:单处理器中进程被交替执行,表现出一种并发的外部特征;在多...转载 2019-06-04 16:44:15 · 132 阅读 · 0 评论 -
python基础===100盏灯的问题
python基础===100盏灯的问题闪存里有人这样提问这样:第一轮操作所有电灯,第二轮操作第2盏,第4盏开关,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮用python解决的思路如下:灯泡有两种状态:开和关,用 -1代表关,用1代表开。每次操作后,状态上乘以-1。这样问题就简单多了:# o...转载 2019-06-04 16:35:48 · 751 阅读 · 1 评论 -
【python常见面试题】之python 中对list去重的多种方法
在python相关职位的面试过程中,会对列表list的去重进行考察。(注意有时会要求保证去重的顺序性)1、直观方法1 li=[1,2,3,4,5,1,2,3]2 new_li=[]3 for i in li:4 if i not in new_li:5 new_li.append(i)6 print(new_li)先建立一个新的空列表,通过遍历原来的列表,...转载 2019-07-01 17:56:33 · 166 阅读 · 0 评论 -
python的两种退出方式
os._exit() vs sys.exit()概述python的程序有两种退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代...转载 2019-07-01 18:31:33 · 1036 阅读 · 0 评论 -
Python - 安装pybloomfilter遇到的问题及解决办法
pip3 install BloomFilterpip3 install pybloom_livefrom pybloom_live import BloomFilter参考这句话 :首先去此地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#bitarray 下载twisted对应版本的whl文件我用的是win7,py3.6.5, 因此我下载的是b...原创 2019-06-18 18:10:15 · 1057 阅读 · 0 评论 -
两个或者三个以上列表和字符串的相加拼接
三个以上列表和字符串的相加拼接>>> p= ['jack','andy','kenny']>>> s='hello'>>> p1=['Mary','Hellen','Ken']>>> for i in range(len(p)): w=s+p[i]+','+s+p[i]+'.' print(w) hello...原创 2019-05-06 11:23:22 · 2031 阅读 · 0 评论 -
with——实现自己的上下文管理器
上下文管理器最常用在需要管理类似文件,网络连接和锁这样的资源的程序中。这些资源的关键点在于他们必须显式地进行关闭或释放才能正确工作。要编写一个上下文管理器,其背后的主要原则就是我们编写的代码需要包含在由with语句定义的代码块中。要让对象能够兼容with语句,需要实现__enter__()和__exit__()方法。实现一个文件的上下文管理器class File(object): ...转载 2019-09-30 11:40:11 · 151 阅读 · 0 评论 -
Python3基础 delattr 删除对象的属性
class MyClass:# num是类属性num = 1def __init__(self, name): self.name = namedef main():test = MyClass(“shemingli”)# 删除类属性# 删除类属性要写类名,而不是实例名delattr(MyClass, "num")# 删除实例属性delattr(test, "nam...转载 2019-09-21 09:36:17 · 1406 阅读 · 0 评论 -
python中几种实现阶乘的方法
普通的for循环实现阶乘a = 1n = 5for i in range(1,n+1): a = a * iprint(a)2.python中,用while循环语句,算阶乘>>> def func(n): s=1 while(n): s*=n n-=1 return s>>> func(3)63.函数中用whil...原创 2019-09-19 17:12:17 · 21835 阅读 · 0 评论 -
python- 如何return返回多个值
函数的return 语句只能返回一个值,可以是任何类型。因此,我们可以“返回一个 tuple类型,来间接达到返回多个值 ”。例: x 除以 y 的余数与商的函数def F1 ( x, y ): a = x % y b = (x-a) / y return ( a,b ) # 也可以写作 return a, b(c, d )= F1( 9...转载 2019-08-24 20:43:29 · 14398 阅读 · 0 评论 -
socket编程---send函数&recv函数详解
socket编程—send函数&recv函数详解一、send函数函数原型:int send( SOCKET s,char *buf,int len,int flags );功能:不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。参数一:指定发送端套接字描述符;参...转载 2019-06-04 14:26:26 · 340 阅读 · 0 评论 -
进程和线程的区别?什么时候用进程?什么时候用线程?
进程和线程的区别?什么时候用进程?什么时候用线程?答:首先得知道什么是进程什么是线程?我的理解是进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的一个实例。线程是进程的一个实体。进程——资源分配的最小单位,线程——程序执行的最小单位。线程进程的区别体现在几个方面:第一:因为进程拥有独立的堆栈空间和数据段,所以每当启动一个新的进程必须分配...转载 2019-06-04 14:23:30 · 220 阅读 · 0 评论 -
enumerate的用法:
enumerate的用法:for index,value in enumerate(list,start):print(index,value)for 后面的index表示索引值,value表示要打印元素的值。list表示要遍历的对象,start表示索引开始的数值。其中list可以加切片list[x:y],表示只取list里某个区间的值,比如前10个 list[:10] (虽然右边取不到...原创 2019-05-07 10:23:28 · 1584 阅读 · 0 评论 -
python装饰器学习例子分析
import timedef timeit(func): def wrapper(): start = time.clock() func() end = time.clock() print('used:', end - start) print(func.__name__) return wra...转载 2019-05-14 16:46:08 · 123 阅读 · 0 评论 -
20190519 菜鸟for if else break continue 各种情况测试
2.3.4.5.6.7.8.参考:https://www.runoob.com/python3/python3-loop.html原创 2019-05-19 14:17:04 · 155 阅读 · 0 评论 -
python3中map()和reduce()函数的使用
利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:[‘adam’, ‘LISA’, ‘barT’],输出:[‘Adam’, ‘Lisa’, ‘Bart’]#方法一>>> def normalize(L): return list(map(lambda name: str.title(name), L))>>...转载 2019-05-18 22:28:41 · 212 阅读 · 0 评论 -
解决Python3 控制台输出InsecureRequestWarning的问题
问题:使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://ur...转载 2019-05-06 10:09:41 · 805 阅读 · 0 评论 -
Python CSV Reader/Writer/DictReader/DictWriter例子
import csvrows = [['1', '2', '3'], ['4', '5', '6']]with open('my.csv', 'w+', newline='') as csv_file: writer = csv.writer(csv_file) for row in rows: writer.writerow(row)with open('...原创 2019-05-04 15:27:24 · 730 阅读 · 0 评论 -
csv.writer用法,csv.DictWriter用法
csv.writer用法import requestsfrom lxml import etreeimport pymongoimport csvurl='https://bj.58.com/shuma/28049255291945x.shtml'response=requests.get(url)#print(response.text)html = etree.HTML(r...原创 2019-05-04 11:57:10 · 10636 阅读 · 0 评论 -
Python进阶-函数默认参数,特别是参数传递为空列表
使用可变类型作为缺省参数,自己练,还有在群里问, 搜索资料等了试了快两个小时, 初学比较慢记录下… 2019-04-15 15.40代码举例:第一次>>> def func(item,item_list=[]): item_list.append(item) print(item_list) >>> func('ip...原创 2019-04-15 15:42:47 · 1251 阅读 · 1 评论 -
20190328 xpath下多标签的实现 第一次写有点凌乱记录下备用
初学python很吃力, 今天自己试验了一遍, 如有错误,请指出,谢谢!!import lxmlfrom lxml import etreeselector=""“大家好!”""html = etree.HTML(selector)print(html)<Element html at 0x30a7488>html_data= html.xpat...原创 2019-03-28 16:53:51 · 139 阅读 · 0 评论 -
python 把函数作为参数 ---高阶函数
在实际使用中,我们有时希望将函数作为参数传递给另一个方法使用。比如装饰器实际就是函数调用函数举个例子,我想传递在调用方法之前打印一下时间:使用函数当做入参那就可以把方法名A当做入参传递给方法B,调用的时候直接用【方法名()】来调用方法内容>>> import time>>> def run(func): print (time.strftime("...转载 2019-05-10 12:06:35 · 8284 阅读 · 0 评论 -
python中break和continue的区别
python中break和continue的区别break和continue1.break意思为结束循环例:i = 0while i<10: i+=1 if i==5: #当i=5时,结束整个循环 break print("i=%d"%i) 代码效果:i=1i=2i=3i=42.continue意思为结束当前循环进入下一...转载 2019-05-17 14:30:32 · 268 阅读 · 0 评论 -
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的解决办法
这个问题是在Windows下安装MySQL服务时遇到的,使用MySQl绿色版进行安装的,安装完成后,连接到MySQL服务时输入命令 “ mysql -uroot -p ” ,因为时第一次登录,未设置密码,直接回车,就遇到了这个问题,错误信息如下:“ ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using passw...转载 2019-05-23 09:53:10 · 11085 阅读 · 2 评论 -
python queue的用法
import queue#先进先出q=queue.Queue(2)q.put(123)q.put(456)print(q.get())print(q.qsize())# 后进先出队列q = queue.LifoQueue()q.put(123)q.put(456)print(q.get())# 优先级队列# 当优先级相同时,按放数据顺序取数据q1 = queue....转载 2019-06-06 17:50:21 · 4796 阅读 · 0 评论 -
python生成器练习
def odd(max): n = 0 while n < max: yield 2*n n = n + 1 # print(2*n) return 'done'f = odd(11)# print(f)# for i in f:# print(i)while True: try: ...原创 2019-06-06 17:47:42 · 329 阅读 · 0 评论 -
python错误: TypeError: the JSON object must be str, bytes or bytearray, not 'dict'解决办法
当我尝试运行以下代码,来练习使用json.loads()和json.dumps()函数时,系统给我报出了这个错误。import jsontext = {"a":1,"b":2,"c":3}j = json.loads(text)print(j)Traceback (most recent call last): File "test.py", line 5, in <modu...转载 2019-06-06 10:35:03 · 7548 阅读 · 0 评论 -
Python错误:TypeError: 'int' object is not callable解决办法
今天在练习Python类相关的知识时遇到了一个TypeError,也就是类型错误。该错误的意思是Int型的对象是不可调用的(not callable)。class User(): def __init__(self,name,age,number): self.name = name self.age = age self.custom = number def custom...转载 2019-06-06 10:07:01 · 3432 阅读 · 0 评论 -
线程池原理及python实现
为什么需要线程池 目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出,这就是是“即时创建, 即时销毁”的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,...转载 2019-06-05 21:36:09 · 187 阅读 · 0 评论 -
Python编程之event对象的用法实例分析
本文实例讲述了Python编程中event对象的用法。分享给大家供大家参考,具体如下:Python提供了Event对象用于线程间通信,它是由线程设置的信号标志,如果信号标志位为假,则线程等待直到信号被其他线程设置成真。这一点似乎和windows的event正好相反。 Event对象实现了简单的线程通信机制,它提供了设置信号,清除信号,等待等用于实现线程间的通信。1.设置信号使用Event的s...转载 2019-06-12 15:29:20 · 348 阅读 · 0 评论 -
成功解决NameError: name 'apply' is not defined
解决问题NameError: name ‘apply’ is not defined解决方法因为python3和python2之间语言断层的原因。python2有一个叫做apply()的全局函数,它使用一个函数f和一个列表[a,b,c]作为参数,返回值是f(a,b,c).可以直接调用这个函数,在列表前添加一个星号作为参数传递给它来完成同样的事情。在python3里,apply()函数不再存在...转载 2019-06-05 17:46:49 · 5718 阅读 · 0 评论