python
此间的少年1128
这个作者很懒,什么都没留下…
展开
-
python——GUI tkinter使用
本文记录tkinter学习内容。来源为莫烦教程:https://morvanzhou.github.io/tutorials/python-basic/tkinter/0.窗口主体框架import tkinter as tkif __name__ == '__main__': window = tk.Tk() window.title("my window") ...原创 2020-04-21 23:23:39 · 329 阅读 · 0 评论 -
煎蛋网图片爬虫
最近在看小甲鱼的爬虫视频,试着自己写了一下:from urllib import requestimport osimport refrom urllib.request import urlretrieve#import Requestsdef get_picaddress(html,fold,i): img_list = re.findall(r'src="(//....原创 2020-04-20 21:39:52 · 505 阅读 · 0 评论 -
python 正则表达式使用
虽然之前在linux中已经学习了一些正则的用法。最近在莫烦教程中学习爬虫,所以在莫烦教程中复习了正则。由此记录参考:莫烦python教程正则1.类型匹配\d : 任何数字 \D : 不是数字 \s : 任何 white space, 如 [\t\n\r\f\v] \S : 不是 white space \w : 任何大小写字母, 数字和 “” [a-zA-Z0-9] \W...原创 2020-04-15 22:51:17 · 652 阅读 · 0 评论 -
python—— __name__的意义
首先定义一个函数:test1.pydef afunction(): if __name__ == '__main__': print("I am in my domain, my name is %s"%__name__) else: print("someone else calls me!my name is %s"%__name__)...原创 2019-11-18 20:56:50 · 277 阅读 · 0 评论 -
python——shutil
shutil:高级的 文件、文件夹、压缩包 处理模块1.shutil.copyfileobj(fsrc, fdst[, length])(copyfileobj方法只会拷贝文件内容)将文件内容拷贝到另一个文件中import shutilos.listdir()Out[103]: ['.ipynb_checkpoints', '20190410_new', '2019041...原创 2019-10-14 22:38:02 · 189 阅读 · 0 评论 -
python——os模块常用命令
os模块主要处理文件和目录。常用功能如下:1.os.name :显示当前使用平台import osos.nameOut[5]: 'nt' #"nt"表示windows;"posix"表示linux2.os.getcwd() :显示当前工作目录os.getcwd()Out[6]: 'C:\\Users\\zhouy_000\\Desktop\\python_study'...原创 2019-10-14 22:29:22 · 276 阅读 · 0 评论 -
numpy.random.randn()用法
1 numpy.random.rand()import numpy as np#numpy.random.rand(d0,d1,…,dn)#rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1#dn表示每个维度#返回值为指定维度的arrayr1=np.random.rand(4,2)print(r1)#[[0.54796071 0.73270937]# [0...转载 2019-05-13 19:38:36 · 2226 阅读 · 0 评论 -
enumerate()和iterrows()
《python-for-data-analysis》中提到利用enumerate遍历,我联想到iterrows对dataframe的遍历,以及对字典的遍历,故有此记录。import numpy as npimport pandas as pdalist=["a","b","c","d"]#enumeratefor index,value in enumerate(alist): ...原创 2019-05-19 13:41:44 · 873 阅读 · 0 评论 -
numpy基本操作(5):数组操作
1.修改数组形状函数 描述 reshape 不改变数据的条件下修改形状 flat 数组元素迭代器 flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组 ravel 返回展开数组 import numpy as np#numpy.reshape函数可以在不改变数据的条件下修改形状# numpy.reshape(arr, ne...原创 2019-05-07 22:16:18 · 711 阅读 · 0 评论 -
matplotlib范例(各种参数设置)
#导入 matplotlib 的所有内容(nympy 可以用 np 这个名字来使用)from pylab import *#创建一个 8 * 6 点(point)的图,并设置分辨率为 80figure(figsize=(8,6),dpi=80)#figure(figsize=(8,6),dpi=80,facecolor="None",edgecolor="None",frameon=T...转载 2019-05-13 19:38:44 · 889 阅读 · 0 评论 -
NumPy 矩阵库(Matrix)
import numpy as npimport numpy.matlib#matlib.empty() 函数返回一个新的矩阵,语法格式为:#numpy.matlib.empty(shape, dtype, order)print(np.matlib.empty((2,2)))#填充为随机数据#[[1.20161797e-306 1.95820760e-306]# [4.9900...转载 2019-05-13 19:38:54 · 180 阅读 · 0 评论 -
NumPy 副本和视图
副本是一个数据的完整的拷贝,如果我们对副本进行修改,它不会影响到原始数据,物理内存不在同一位置。视图是数据的一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。如果我们对视图进行修改,它会影响到原始数据,物理内存在同一位置。视图一般发生在:1、numpy 的切片操作返回原数据的视图。 2、调用 ndarray 的 view() 函数产生一个视图。副本一...转载 2019-05-13 19:39:03 · 178 阅读 · 0 评论 -
numpy基本操作(4):迭代数组
import numpy as np#NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式。a=np.arange(6).reshape(2,3)print(a)for x in np.nditer(a): print(x,end=",")print("\n")#修改数组中元素的值#nditer对象有另一个可选参数 op_fla...原创 2019-05-06 19:45:42 · 362 阅读 · 0 评论 -
numpy基本操作(3):广播
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。import numpy as np#Numpy广播#如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shapea = np.array([1,2,3,4]) b = np.array([10,20,30,40]) c = a...原创 2019-05-06 19:45:32 · 198 阅读 · 0 评论 -
numpy基本操作(2):切片和索引
1.切片import numpy as np#切片和索引a=np.arange(10)print(a)s=slice(2,7,2)print(a[s])c=a[2:7:2]print(c)#[0 1 2 3 4 5 6 7 8 9]#[2 4 6]#[2 4 6]d=np.arange(9).reshape([3,3])print(d)#选取d的第二行及之后的数...原创 2019-05-06 19:45:12 · 377 阅读 · 0 评论 -
numpy基本操作(1):数组属性,创建数组
数组属性:ndarray.ndim, ndarray.shape, ndarray.reshapeimport numpy as np#数组属性#ndarray.ndim 用于返回数组的维数,等于秩。a=np.arange(24)print(a.ndim)b=a.reshape(2,4,3)print(b.ndim)print(b)#输出为:# ==============...原创 2019-05-06 19:44:59 · 354 阅读 · 0 评论 -
NumPy 统计函数
NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。 函数说明如下:import numpy as np#numpy.amin() 和 numpy.amax()#numpy.amin() 用于计算数组中的元素沿指定轴的最小值。#numpy.amax() 用于计算数组中的元素沿指定轴的最大值。a = np.array([[3,7,5],[8,4...转载 2019-05-08 22:59:10 · 288 阅读 · 0 评论 -
collections.deque()
在学习《python-for-data-analysis》中文版时,在给list插入元素中遇到collections.deque,之前没有用到过,有此记录deque 是一个双端队列, 如果要经常从两端append 的数据, 选择这个数据结构就比较好了, 如果要实现随机访问,不建议用这个,请用列表.deque 优势就是可以从两边append ,appendleft 数据. 这一点list 是没...原创 2019-05-19 13:40:49 · 12255 阅读 · 3 评论 -
bisect模块
《python-for-data-analysis》学习中发现一个有意思的模块,bisect,有此记录:bisect处理的数据要确保经过排序。bisect.insert表示按顺序插入list中;bisect.bisect则返回插入的位置,但是实际并未插入。import bisectalist=[2,4,5,6,1,9,8]bisect.insort(alist,1)print(...原创 2019-05-19 13:41:00 · 260 阅读 · 0 评论 -
python——列表或字符串统计特殊字符出现的次数
在日常中碰到一个这样的需求,统计某个长串字符里面特殊字符出现的次数。from collections import Counterastring="abdcgdhkabj"a_num=astring.count("a")print(a_num)#2astring="abdcgdhkabj"count=Counter(list(astring))print(count)#C...原创 2019-10-09 22:54:30 · 1925 阅读 · 0 评论 -
字典:update
利用zip创建dict,以及dict的update。a=["A","B","C","D","E"]b=[1,2,3,4,5]dict_a=dict(list(zip(a,b)))print(c)dict_b={}for key,value in zip(a,b): dict_b[key]=valueprint(dict_b)dict_a.update({"a":1...原创 2019-05-19 13:42:07 · 298 阅读 · 0 评论 -
matplotlib常见图例
1.simple plot#simple plotimport matplotlibimport matplotlib.pyplot as pltimport numpy as np#data for plottingt=np.arange(0.0,2.0,0.01)s=1+np.sin(2*np.pi*t)#fig表示整张图纸,ax表示单个子图fig,ax=plt.su...转载 2019-05-13 19:38:27 · 1282 阅读 · 0 评论 -
list倒转
倒转list的几个常见办法。#reversea=["A","B","C","D","E"]a.reverse()print(a)#reversed生成器a1=["A","B","C","D","E"]b=list(reversed(a1))print(b)#切片a2=["A","B","C","D","E"]c=a2[::-1]print(c)#['E', 'D...原创 2019-05-19 13:41:54 · 479 阅读 · 0 评论 -
切片的操作
《python-for-data-analysis》中提到关于切片一些有意思的操作,特此记录:alist=[2,4,5,6,1,9,8]#间隔取元素print(alist[::2])#颠倒元素print(alist[::-1])#[2, 5, 1, 8]#[8, 9, 1, 6, 5, 4, 2]以上,记录本人学习过程。...原创 2019-05-19 13:41:06 · 181 阅读 · 0 评论 -
NumPy 算术函数
import numpy as np#NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。#需要注意的是数组必须具有相同的形状或符合数组广播规则。a=np.arange(9,dtype=float).reshape(3,3)print(a)b=np.array([10,10,10])print(b)print("...转载 2019-05-08 22:58:56 · 468 阅读 · 0 评论 -
NumPy 数学函数
NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等。import numpy as npa=np.array([0,30,45,60,90])# 通过乘 pi/180 转化为弧度 print (np.sin(a*np.pi/180))print (np.cos(a*np.pi/180))print (np.tan(a*np.pi/180))...转载 2019-05-08 22:57:46 · 183 阅读 · 0 评论 -
xlrd和xlwt的常用操作
xlwt可用于创建excel文件import xlwtxls=xlwt.Workbook()sheet=xls.add_sheet("testtable")sheet.write(0,0,"test_string")xls.save("test_csv.xls")保存文件如下:xlrd可用于读取excel文件:import xlrdxls=xlrd.open_w...原创 2019-04-02 23:09:31 · 955 阅读 · 0 评论 -
豆瓣出版社爬取
最近在看视频学习时提到的爬取豆瓣出版社的一个训练,代码如下:注意点:decode使用import urllib.requestimport reurl="https://read.douban.com/provider/all"data=urllib.request.urlopen(url).read().decode("utf-8")pat1='<div class="n...原创 2019-04-02 21:28:51 · 252 阅读 · 0 评论 -
range和arange
range(start, end, step),返回一个range.object(迭代值),起始值为start,终止值为end,但不含终止值,步长为step。只能创建int型list。arange(start, end, step),与range()类似,也不含终止值。但是返回一个array对象。需要导入numpy模块(import numpy as np或者from numpy import*...原创 2019-04-11 23:09:49 · 255 阅读 · 0 评论 -
list基本操作append、count、extend、index、insert、pop、remove、reverse、sort、clear、copy
1.append#append:在列表的末尾添加新的对象alist=[1,2,3,4]alist.append(5)print(alist)#输出为:[1, 2, 3, 4, 5]2.count#count:用于统计某个元素在列表中出现的次数alist=list("hello,world")print(alist)#输出为:['h', 'e', 'l', 'l', '...原创 2019-04-11 22:51:32 · 1385 阅读 · 0 评论 -
map和lambda联用
最近工作上的一些需要同时使用map和lambda觉得非常的方便,由此记录。map()会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。list_a=list(...原创 2019-03-28 23:31:24 · 1057 阅读 · 0 评论 -
关于dict的常用操作
创建一个字典dict_test={}for i in ["a","bb","ccc","dddd"]: dict_test[i]=len(i)print(dict_test)字典如下:{'a': 1, 'bb': 2, 'ccc': 3, 'dddd': 4}获得dict的key或者value列表:list_dict_keys=list(dict_test.ke...原创 2019-03-28 23:22:57 · 370 阅读 · 0 评论 -
concat多个dataframe之后,出现index重复的处理
今天contact了几个dataframe文件,由于对最终处理数据的行数有限制,所以我选择随机删除几行数据,在使用drop中的index删除是发现同时删掉了好多行,检查后才发现index有重复,故查找了重新设置index的方法,以此记录。代码如下:import pandas as pddf1=pd.DataFrame({'one':[1,2,3,4], ...原创 2019-03-28 21:59:31 · 13377 阅读 · 3 评论 -
list之间的运算,交集,差集,并集
list_a=["a","b","c"]list_b=["a","d","e","b"]list_intersection=list(set(list_a).intersection(set(list_b)))list_union=list(set(list_a).union(set(list_b)))list_diff=list(set(list_a).difference(set(l...原创 2019-03-28 22:13:43 · 1123 阅读 · 0 评论 -
正则表达式常用函数
正则表达式函数re.match(); re.search(); 全局匹配函数;re.sub()import repat="aaaa"string="aaadaaaacbd"result=re.search(pat,string)print(result)pat2="ab"result2=re.search(pat2,string)print(result2)pat3="\...原创 2019-04-01 23:50:04 · 458 阅读 · 0 评论 -
pd.read_csv处理含中文的文件
使用pd.read_csv读入含中文的csv文件时,会出现错误,需要设置encoding参数,命令如下:import pandas as pd afile=pd.read_csv("testfile1.csv",encoding="gbk")print(afile)输出为: ID sex subject score0 10001 男 Englis...原创 2019-04-10 19:56:34 · 5408 阅读 · 0 评论 -
DataFrame 根据同一行多列的值做判断,生成新的列值,df.apply,lambda的使用
主要是DataFrame.apply函数的应用,如果设置axis参数为1则每次函数每次会取出DataFrame的一行来做处理,如果axis为1则每次取一列。import pandas as pdimport ospd.set_option('display.max_rows',1000) # 具体的行数或列数可自行设置pd.set_option('display.max_colu...原创 2019-04-10 21:39:34 · 7502 阅读 · 0 评论 -
dataframe.append()合并多个列名相同的文件
1.dataframe.append()合并import pandas as pdimport osall_df=pd.DataFrame()#"."表示当前文件夹for parents,dirnames,filenames in os.walk("./testdir/"): for filename in filenames: a_df=pd.read_...原创 2019-04-10 21:22:42 · 10237 阅读 · 1 评论 -
python list组合 itertools.product应用
今天工作上有这么一个需求,有一个四位数,每一位位上都有多种选择,比如第一位可以取1或者2,第二位上也是有好多种。如下所示:list_a=[1,2]list_b=[4,5]list_c=[6,7,8]a,b,c三个list分别代表三个位置上可以选择的数,现在要得到所有的组合,我本来想要写一个循环,后来发现itertools.product可以实现这种全组合。代码如下:fr...原创 2019-03-27 23:07:04 · 1423 阅读 · 0 评论 -
python print的操作
之前使用print时没有考虑过要把多行数据输在同一行上。今天做一个练习,要逆向输出乘法口诀。为了能够保证几个式子在同一行输出,我先是把这些式子放在一个list里面,然后再替换“ , ”为空格输出。特别麻烦,看完视频后发现print中可以直接设置end来实现不换行,代码如下:.for i in range(1,5): print(i,end=" ")结果如下:1 2 3 4 注:经本...原创 2019-03-26 21:53:48 · 183 阅读 · 0 评论