202107-09 python tkinter Entry控件的焦点移动操作 话不多说。代码片:#-*-coding:utf8-*-fromtkinterimport*########################################--------------tk----------------classApp:def__init__(self,master):frame=Frame(master)frame.pack(expand=1)self.e1=Entry(frame)self.e1.pack()self.e2=Entry(frame)self.e2.pack()self.e1.bind("<Return>",handlerAdaptor(foc... 继续阅读 >
202107-09 解决python中os.system调用exe文件的问题 前一段时间导师叫我写一个批处理的小程序,就是循环修改辐射传输模型软件MODTRAN的输入参数,然后运行MODTRAN软件进行计算,输出需要的结果。我这里用的是python写的小程序,那就需要考虑用python调用MODTRAN的exe文件运行,查了一些资料可以用os.system命令来执行exe文件,说起来直接调用就行了嘛,对吧,但是说起来简单,还是会遇到一些莫名其妙的问题,下面我来说说我遇到的问题。先给大家介绍一下MODTRAN这个软件运行的一个过... 继续阅读 >
202107-09 python 爬取英雄联盟皮肤图片 目录第一步:获取js字典第二步:从js字典中提取到key值生成url列表第三步:从js字典中提取到value值生成name列表第四步:下载并保存数据一开始都是先去《英雄联盟》官网找到英雄及皮肤图片的网址:URL=r'https://lol.qq.com/data/info-heros.shtml'从上面网址可以看到所有英雄都在,按下F12查看源代码,发现英雄及皮肤图片并没有直接给出,而是隐藏在JS文件中。这时候需要点开Network,找到js窗口,刷新网页,就看到一个champi... 继续阅读 >
202107-09 python爬取链家二手房的数据 目录一、查找数据所在位置:二、确定数据存放位置:三、获取html数据:四、解析html,提取有用数据:一、查找数据所在位置:打开链家官网,进入二手房页面,选取某个城市,可以看到该城市房源总数以及房源列表数据。二、确定数据存放位置:某些网站的数据是存放在html中,而有些却api接口,甚至有些加密在js中,还好链家的房源数据是存放到html中:三、获取html数据:通过requests请求页面,获取每页的html数据#爬取的url,默认爬... 继续阅读 >
202107-09 python 定义函数 返回值只取其中一个的实现 看代码吧~deftest():return1,2a,b=test()12a,_=test()1#说明a,_=test()中返回的是一个int类型后续可直接运算#a,b=test()返回值是一个元组,直接运算报错补充:Python-装饰器(被装饰函数有返回值的情况)题目:装饰器实现一个函数计时器比较for循环与map,匿名函数的运算速度问题:被装饰的函数有返回值怎么办程序内容:importtimeimportrandomimportstringimportfunctools#问题:被装饰的函数有... 继续阅读 >
202107-09 Python+Appium实现自动抢微信红包 目录环境准备实现思路code环境准备appium环境安卓手机usb数据线python环境实现思路我们收到红包和消息都是自动置顶到第一个,于是我们打开第一个判断是否有红包,没有则隐藏此窗口。如果有则判断红包是否可以领取,如果有则领取红包,否则删除此红包(不然会影响后面的判断)然后再进行循环运行和判断。code首先看一下配置信息,因为我使用得是真机小米9安卓10的系统,代码实现如下具体的信息填写请根据自己的真实情... 继续阅读 >
202107-09 写好Python代码的几条重要技巧 目录面向对象五个基本原则立竿见影的单一职责原则让代码稳定性飞升的开放封闭原则和依赖倒置原则挑肥拣瘦的接口隔离原则轻装上阵的合成复用原则常见的三种架构单体架构分布式架构微服务架构分布式和微服务并不是银弹画好图起一个好名字优化嵌套的ifelse代码程序设计的好与坏,早在我们青葱岁月时就接触过了,只是那是并不知道这竟如此重要。能够立即改善程序设计、写出“好”代码的知识有以下几点:•面向对象五个基本原则... 继续阅读 >
202107-09 python如何正确使用yield 目录生成器nextsendthrowclose使用场景大集合的生成简化代码结构协程与并发总结生成器如果在一个方法内,包含了yield关键字,那么这个函数就是一个「生成器」。生成器其实就是一个特殊的迭代器,它可以像迭代器那样,迭代输出方法内的每个元素。我们来看一个包含yield关键字的方法:# coding: utf8# 生成器def gen(n): for i in range(n): ... 继续阅读 >
202107-09 Python源码解析之List 目录一、列表结构体二、创建列表三、添加元素四、移除元素五、清空六、销毁一、列表结构体创建列表C语言底层的结构体lists=[]list.append('name')list.append('age')list.append('grade')typedefstruct{struct_object*_ob_next;struct_object*_ob_prev;//python内部将对象放在链表进行内存管理Py_ssize_tob_refcnt;//引用计数器,就是多少变量用了它PyObject**ob_item;//指针的指针,存列表的元素Py_ssize... 继续阅读 >
202107-09 Python 统计数据集标签的类别及数目操作 看了大神统计voc数据集标签框后,针对自己标注数据集,灵活应用,感谢!看代码吧~importreimportosimportxml.etree.ElementTreeasETclass1='answer'class2='hand'class3='write'class4='music'class5='phone''''class6='bus'class7='car'class8='cat'class9='chair'class10='cow'class11='diningtable'class12='dog'class13='horse'class14='motorbike'class15='person'class16='pottedplan... 继续阅读 >
202107-09 python 实现添加标签&打标签的操作 普通打标签odue_df=df_train_stmt.loc[(df_train_stmt.AGE3>0)|(df_train_stmt.AGE4>0)|(df_train_stmt.AGE5>0)|(df_train_stmt.AGE6>0),['XACCOUNT']].drop_duplicates()odue_df['label']=1cust_df=df_acct[['CUSTR_NBR','XACCOUNT']].drop_duplicates()#做合并df_y=pd.merge(cust_df,odue_df,how='left',on='XACCOUNT').groupby('CUSTR_NBR').agg({'label':max}).reset_index().fillna(0)使用函数来打标签#标注标签Labeldeflab... 继续阅读 >
202107-09 Python 如何让特征值滞后一行 看代码吧~#加载库importpandasaspd#데이터프레임을만듭니다.dataframe=pd.DataFrame()#模拟数据dataframe["dates"]=pd.date_range("1/1/2001",periods=5,freq="D")dataframe["stock_price"]=[1.1,2.2,3.3,4.4,5.5]dataframe.head()#让值滞后一行dataframe["previous_days_stock_price"]=dataframe["stock_price"].shif... 继续阅读 >
202107-09 python 如何通过KNN来填充缺失值 看代码吧~#加载库importnumpyasnpfromfancyimputeimportKNNfromsklearn.preprocessingimportStandardScalerfromsklearn.datasetsimportmake_blobs#创建模拟特征矩阵features,_=make_blobs(n_samples=1000,n_features=2,random_state=1)#标准化特征scaler=StandardScaler()standardized_features=scaler.fit_transform(features)standardized_featu... 继续阅读 >
202107-09 python 实现单一数字取对数与数列取对数 python取对数可以采用两种工具包,math包可对单一数字取对数,numpy可以数列整体取对数。1、仅对单一数字取对数importmathmath.log(2)#默认以e为底math.log(4,2)#以2为底,4的对数即math.log(c,b)#计算以b为底,c的对数2、对数列整体求对数对一个数列取对数需要numpy包importnumpynumpy.log([2,4,8])#以e为底,分别对2,4,8取对数numpy.log2([2,4,8])#以2为底,分别对2,4,8取对数即numpy.loga(b)#以a为底,对数列b中的... 继续阅读 >
202107-09 python实现dbscan算法 DBSCAN算法是一种基于密度的空间聚类算法。该算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内所包含对象(点或其它空间对象)的数目不小于某一给定阀值。DBSCAN算法的显著优点是聚类速度快且能够有效处理噪声点和发现任意形状的空间聚类。但是由于它直接对整个数据库进行操作且进行聚类时使用了一个全局性的表征密度的参数,因此也具有两个比较明显的弱点:1.当数据量增大时,要求较大的内存支持I/0消耗也很大;2.... 继续阅读 >
202107-09 python 如何对Series中的每一个数据做运算 问题描述最近~发现对series里的元素操作挺复杂的,用forloop+Series.iloc[i]会发生卡死的状况,那么,lambda是解决办法:error1ratings['timestamp']=ratings['timestamp'].apply(ratings['timestamp'].iloc[i].strftime("%Y-%m-%d%H:%M:%S",ts)foriinrange(len(ratings)))TypeError:'generator'objectisnotcallable用lambda直接apply,就相当于对每一行的每个元素,逐一apply:ratings_sub['timestamp']=rat... 继续阅读 >