
Python
查漏补缺 到 精进
A_Coding_man
纵有疾风起 人生不言弃
展开
-
matplotlib绘制mqtt数据实时图像
实时绘制mqtt数据图像import jsonimport mathimport randomfrom paho.mqtt import client as mqtt_clientimport timeimport datetimefrom math import ceil, floorimport matplotlib.pyplot as pltimport geventimport _thread# 公共变量broker = 'broker.emqx.io'topic = "原创 2021-09-03 15:54:50 · 772 阅读 · 0 评论 -
word2vec模型保存为npy文件 clh
np.save("data/NYT_CoType/word2vec.vectors.npy", word_vectors.vectors)原创 2021-06-21 14:57:12 · 951 阅读 · 0 评论 -
yield的使用
有 return 的函数直接返回所有的结果,程序终止不再运行,并销毁局部变量def example(): x = 1 return xexample = example()print(example)# 1而有 yield 的函数则返回一个可迭代的 generator(生成器)对象,可以使用 for 循环或者调用 next() 方法遍历生成器对象来提取结果def fab(max): """生成斐波那契数列""" n, a, b = 0, 0, 1 w原创 2021-08-23 22:32:44 · 91 阅读 · 0 评论 -
random.shuffle(lst)
random.shuffle(lst) 函数将输入的列表lst随机打乱,会将原序列打乱import randomlst = ['PEK', 28, 'Li Bai', 'Tsinghua']random.shuffle(lst)print(lst)# ['Tsinghua', 28, 'Li Bai', 'PEK']原创 2021-08-23 22:27:37 · 203 阅读 · 0 评论 -
random.shuffle() 函数
Python random.shuffle() 函数将列表中的元素随机打乱该方法会修改原序列import randomlst = ['LiBai', 57, 'BaiJuyi', 12]random.shuffle(lst)print(lst)# [12, 'LiBai', 'BaiJuyi', 57]原创 2021-08-18 16:09:51 · 481 阅读 · 0 评论 -
字典取 keys、values
字典取 keys、values字典取keys字典取keysd = dict() # 创建一个新字典d["A"] = 'a' # 添加新的键值对d["B"] = 'b'print(d) # 查看字典print(d.keys()) # 查看字典的keys# dict_keys(['A', 'B'])print(list(d.keys())) # 列表化字典的keys# ['A', 'B']print(d.values()) # 查看字典的values# dict_value原创 2021-06-08 10:19:13 · 307 阅读 · 0 评论 -
OpenCV - 7 图像的几何变换
图像的几何变换1. 裁剪、放大、缩小裁剪--数组选择方法(冒号)放大、缩小--resize()函数2. 平移变换3. 错切变换完整代码1. 裁剪、放大、缩小裁剪–数组选择方法(冒号)# 裁剪img = cv.imread('naruto_400x400.jpeg')show(img)naruto_totem = img[250:310, 190:250, :]show(naruto_totem) # 行范围、列范围、页范围# 放大缩小show(cv.resize(naruto_t原创 2021-03-15 16:20:40 · 105 阅读 · 0 评论 -
OpenCV - 6 图像线性及非线性变换、图像融合
图像的线性、非线性变换逐像素运算逐像素运算就是对图像中的每个像素点的亮度值,通过一定的函数关系转换到新的亮度值。这个转换可以由函数关系表示s=f(r)s=f(r)s=f(r)其中,r 表示原来的像素值,s 表示新的像素值。通常采用单调函数进行变换。线性变换s(x,y)=kr(x,y)+cs(x,y)=kr(x,y) + cs(x,y)=kr(x,y)+c非线性变换s(x,y)=a+ln(r(x,y)+1)b lncs(x,y)=a+\frac{ln(r(x,y)+1)}{原创 2021-03-14 11:05:46 · 1469 阅读 · 3 评论 -
OpenCV - 5 两图像加减乘除
相加:图像混合、添加噪声img = cv.add(img1, img2)img = cv.addWeighted(img1, alpha, img2, beta, gamma)import matplotlib.pyplot as pltimport numpy as npimport cv2 as cvdef show(img): if img.ndim == 2: plt.imshow(img, cmap='gray') else: plt原创 2021-03-08 22:34:44 · 1209 阅读 · 0 评论 -
OpenCV - 4 二值图、灰度图、RGB彩色图
二值图、灰度图、RGB彩色图二值图灰度图RGB彩色图8位整型图像浮点数图像二值图二值图:只有 0 和 1 两种取值灰度图灰度图:对8位灰度取值,有256种取值, 0表示黑色,1表示白色。彩色图像转灰度图像公式:gray(x,y)=0.299r(x,y)+0.587g(x,y)+0.114b(x,y)gray(x,y) = 0.299r(x,y) + 0.587g(x,y) + 0.114b(x,y)gray(x,y)=0.299r(x,y)+0.587g(x,y)+0.114b(x,y)impo原创 2021-03-07 21:33:26 · 3057 阅读 · 0 评论 -
OpenCV - 3 matplotlib的基础操作
matplotlib的基础操作matplotlib的基础操作1. 绘制折线图一条折线图多条折线图2. 绘制直方图完整代码matplotlib的基础操作1. 绘制折线图一条折线图import matplotlib.pyplot as pltimport numpy as np# plt.plot(x, y) # 绘制折线图x = np.arange(2, 20)y = 2 * x + np.random.randint(5, 20, 18)plt.plot(x, y) # 正常显示原创 2021-03-07 18:13:19 · 241 阅读 · 0 评论 -
OpenCV - 2 opencv的基础操作
opencv的基础操作图片的读写及显示1. 图像读取2. 图像写入3. 图像显示cv显示matplotlib显示4. 将彩色图像读取为灰度图像5. 图像的维度定义一个显示图像的函数完整代码图片的读写及显示1. 图像读取img = cv.imread('dog.jpg')print(type(img))print(img.shape) # <class 'numpy.ndarray'># (768, 1024, 3)2. 图像写入cv.imwrite('dog-w.jpg'原创 2021-03-07 16:26:51 · 192 阅读 · 0 评论 -
OpenCV - 1 numpy的基础操作
numpy的基础操作1. numpy的基础操作1.1 数据格式1.2 创建不同数据格式的数组列表转直接数组列表转指定数据格式的数组1.3 numpy的几个函数np.arange()np.linspace()np.zeros()np.ones()np.identity() 创建单位矩阵np.eye() 创建单位矩阵np.random.randint()1.4 矩阵变换A.reshape()A.flatten() 将矩阵拉平为一维A.ravel() 将矩阵拉平为一维A.T 转置A.原创 2021-03-05 16:46:39 · 329 阅读 · 0 评论 -
json文件读写 python
写import jsona = [1,2,3]b = '456'c = 10d = {'a':a, 'b':b, 'c':c}dd = json.dumps(d)fw = open('test.txt', 'w', encoding='utf-8')fw.write(dd)fw.close()查看txt文件读加载刚才写好的json文件import jsonfr = open('test.txt', 'r', encoding='utf-8')content = jso原创 2021-03-01 16:22:41 · 96 阅读 · 0 评论 -
列表、字符串间隔取值 Python
列表取值例1a = ['a', 'b', 'c', 'd', 'e', 'f']b = '{1+2-3*4(5/6)7}'print('a[::2]:',type(a[::2]), a[::2])print('b[::2]:', type(b[::2]), b[::2])输出:a[::2]: <class 'list'> ['a', 'c', 'e']b[::2]: <class 'str'> {+-*(/)}例2a = ['a', 'b', 'c', 'd'原创 2021-01-28 10:25:17 · 2033 阅读 · 0 评论 -
星号传参和双星号传参 Python
星号传参和双星号传参星号传参把通过位置传参的参数值转为元组def fun(a=1, *b): """a是一个普通关键字参数,*b是一个关键字星号参数""" print(a) print(b)fun(1,2,3,4,5,6,7)输出:1(2, 3, 4, 5, 6, 7)双星号传参把通过关键字传参的参数及对应的参数值转为字典def fun(a=1, **b): """a是一个普通关键字参数,**b是一个关键字双星号参数""" print(a)原创 2021-01-28 10:10:11 · 413 阅读 · 0 评论 -
Python3 多进程
Python3 多进程Python3 多进程多进程和多线程同:异:案例多进程多进程和多线程的效率对比创建多进程创建多线程创建普通函数运行时间Python3 多进程多进程和多线程同:都是用于并行运算的使用方法很类似异:多进程用于弥补多线程的一些劣势,例如全局锁(GIL)多进程能够更好地发挥电脑多核威力案例逻辑梳理 | 进程和线程在使用上的相似处# 添加进程processimport multiprocessing as mpimport threading as td原创 2021-01-11 10:23:57 · 208 阅读 · 0 评论 -
装饰器 python
装饰器 Python解释器--原理装饰器--使用装饰器--传参参考链接:解释器–原理先简单定义几个函数:https://www.runoob.com/w3cnote/python-func-decorators.htmlfunc1def func1(): print("执行函数 func1()")func2def func2(): print("执行函数 func2()")maindef main(): print("执行函数 main()")现在把这几个函数搞一搞,写成这个原创 2020-12-21 17:10:39 · 80 阅读 · 0 评论 -
pandas读取json文件 Python
pandas读取json文件 Pythonjson文件中的内容如下:[{"mac": 1,"timestamp": 1307386437,"volt": 2.5,"temp": 35.5,"acc": [[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3]],"sampletime":1307386437},{"mac": 1,"timestamp": 1原创 2020-12-08 09:12:06 · 8838 阅读 · 0 评论 -
检测文件夹是否存在,文件夹新建与删除 Python
检测文件夹是否存在,文件夹新建与删除 Python如果文件夹不存在则新建如果文件在存在,删除该文件及其中的子文件如果文件夹不存在则新建import osfolder = '新建文件夹/'if not os.path.exists(folder): """如果文件夹不存在则新建""" os.makedirs(folder) print('文件夹不存在,已为您自动创建')如果文件在存在,删除该文件及其中的子文件import osfolder = '新建文件夹/'if原创 2020-12-04 14:29:28 · 292 阅读 · 0 评论 -
时间戳 ↔ 格式化时间 Python
时间格式转换格式化字符串 → 时间戳时间戳 → 格式化字符串datetime格式 → 变时间戳符号含义格式化字符串 → 时间戳import timematch_time = '2018-05-22 08:30:00'ans_time_stamp = time.mktime(time.strptime(match_time, "%Y-%m-%d %H:%M:%S"))得到:float型的时间戳,1526949000.0时间戳 → 格式化字符串import timestruct_time =原创 2020-12-01 09:01:00 · 918 阅读 · 0 评论