Python
不 知
只做笔记记录,如语句不通顺不理解见谅,有帮助最好,没帮助也请口下积德。
by design.
展开
-
python异步协程学习
import asyncioimport timeasync def func(): print("我叫萨莉亚") await asyncio.sleep(4) print("我叫萨莉亚")async def func2(): print("我叫潘金莲") await asyncio.sleep(3) print("我叫潘金莲")async def func3(): print("我叫周润发") await asyncio.原创 2021-10-04 10:43:48 · 88 阅读 · 0 评论 -
Python中使用re提取匹配
obj = re.compile(r"<div class='.*?'><span id='\d+'>(?P<wahahah>.*?)</span></div>", re.S)原创 2021-09-23 19:51:13 · 559 阅读 · 0 评论 -
python中使用pip和清华镜像源安装opencv
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python原创 2021-05-26 16:17:33 · 1247 阅读 · 1 评论 -
Python中关于++和—(自增和自减)的理解
https://blog.csdn.net/u011236348/article/details/89311490转载 2020-12-29 21:53:51 · 282 阅读 · 0 评论 -
机器学习_梯度下降法一维函数
一维函数使用梯度下降法的例子import numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltdef f1(x): return 0.5 * (x - 0.25) ** 2def h1(x): return 0.5 * 2 *(x - 0.25)if __name__ == '__main__': mpl.rcParams['font.family'] = 'SimHei' mp原创 2020-12-28 18:50:14 · 703 阅读 · 0 评论 -
numpy一行转为一列
>>> a = np.array([1, 2, 3])>>> a = a.reshape(-1, 1) #-1表示任意行数,1表示1列>>> aarray([[1], [2], [3]])原创 2020-12-28 16:22:19 · 12222 阅读 · 0 评论 -
机器学习_线性回归最小二乘法求解
import sklearn.datasets as dataimport numpy as npimport matplotlib.pyplot as pltimport pandas as pdimport matplotlib as mplclass LinearRegression: def __init__(self): pass def fit(self, X, y): X = np.asmatrix(X.copy())原创 2020-12-28 15:45:55 · 170 阅读 · 0 评论 -
机器学习_线性回归梯度下降法求解
import numpy as npimport pandas as pdimport sklearn.datasets as datasetimport matplotlib.pyplot as pltimport matplotlib as mplclass LinearRegression: def __init__(self, alpha, times): """ alpha:float 学习率,用来控制步长(权重调整的幅原创 2020-12-28 15:45:01 · 100 阅读 · 0 评论 -
Python中的生成器yield
在计算机科学中,生成器是特定的迭代器,它完全实现了迭代器接口,所以所有生成器都是迭代器。不过,迭代器用于从数据集中取出元素;而生成器用于"凭空"生成(yield)元素。它不会一次性将所有元素全部生成,而是按需一个一个地生成,所以从头到尾都只需占用一个元素的内存空间。很典型的一个例子是斐波纳契数列:斐波纳契数列中的数有无穷个,在一个数据结构里放不下,但是可以在需要下一个元素的时候临时计算。再比如内置函数range()也返回一个类似生成器的对象,每次需要range里的一个数据时才会临时去产生它。如果一定要让转载 2020-12-23 16:04:46 · 78 阅读 · 0 评论 -
Python控制台打印字体颜色的问题(colorama)
1、黑色from colorama import Fore,initprint(Fore.BLACK+sys.path[0])2、红色:from colorama import Fore,initprint(Fore.RED+sys.path[0])原创 2020-12-20 18:34:17 · 332 阅读 · 0 评论 -
解决pip下载速度慢的问题
在pip前面加上python -m例如:pip install numpy改为python -m pip install numpy要是再不行,终极绝招:让PIP源使用国内镜像,提升下载速度和安装成功率。对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。国内源:新版ubuntu要求使用https源,要注意。清华:https://pypi.转载 2020-12-20 18:28:23 · 85 阅读 · 0 评论 -
将Python包环境从一个电脑拷贝到另外一个电脑
下面使用pip的requirement list 安装包。在终端输入下面的指令:pip -h可以得到下面的信息:1、在当前电脑pip freeze > 文件名比如:pip freeze > myrequirement.txt可得到:2、移动到另外一台电脑将生成的文件拷贝到另外一台电脑,使用pip intall的一个命令。在另外一台电脑使用如下命令,就可以按找当前电脑环境中的包进行下载了。pip install -r myrequirement.txt改命.原创 2020-12-20 18:13:34 · 10580 阅读 · 0 评论 -
如何用Python生成二维码(把一个url变成二维码)
pip install imagepip install qrcodepip install pillow import qrcodeqr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=1)#设置二维码的大小qr.add_data("https://blog.csdn.net/caidewei121/")qr.make(fit=T转载 2020-12-20 16:44:18 · 370 阅读 · 1 评论 -
PythonWeb框架Django实现外网访问
本文演示腾讯云服务器安装Django服务器的过程中常见的几个问题。1、防火墙的端口号需要开启如果买的是腾讯云服务器。默认8080端口是没有启动的。2、开启外网访问的命令开启外网访问IP地址需要设置成0.0.0.0python3 manage.py runserver 0.0.0.0:8080如果想在后台运行nohup python3 manage.py runserver 0.0.0.0:8080&3、settings.py文件中的设置1、ALLOWED_HOSTS = []原创 2020-12-20 16:42:38 · 2328 阅读 · 0 评论 -
python 中 is, is not ,==, != 的区别
首先说结论:1、is, is not 对比的是两个变量的内存地址2、==,!= 对比的是两个变量的值由此可以进一步推出:a、假如比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。b、假如对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。a=["hello"]b=["hello"]print(a is b, a==b) # 输出为 False, True...转载 2020-12-10 14:39:32 · 307 阅读 · 0 评论 -
Python中用一个通道的图像赋值给三个通道的图像
arr = np.array([[[1,2,3],[1,2,3]],[[1,2,3],[1,2,3]]]) arr1 = np.array([[1,2],[3,4]]) arr[:] = arr1[..., np.newaxis]注意arr[:]放在等式左边可以用这种方法通过一维数组给三维数组赋值。原创 2020-12-09 21:53:05 · 1308 阅读 · 0 评论 -
Python Numpy中reshape函数参数-1的含义
arr = np.array([1,2,3,4,5,6]) print(arr.reshape(2,3).reshape(2,-1))就是将-1所在位置行或列是根据另外一个计算出来,自己不知道他为多少。比如上面的那个,我只想让他变成2行,但是我不知道他是多少列,所以就可以这样。只有一个表示将变成一维的,一行。 arr = np.array([1,2,3,4,5,6]) print(arr.reshape(-1))...原创 2020-12-09 20:58:36 · 632 阅读 · 0 评论 -
OpenCV函数mixChannels()的使用方法
C++:void cv::mixChannels ( const Mat * src,size_t nsrcs,Mat * dst,size_t ndsts,const int * fromTo,size_t npairs ) 大意是:第一个参数输入对象,可以是一个,也可以是多个。如果是多个请传入数组对象。第二个参数输入对象的个数,也就是参数1中的数组中元素的个数第三个参数输出对象,可以是一个,也可以是多个,如果是多个请传入数组。第四个参数是输出对象的个数第五个.原创 2020-12-02 20:28:14 · 828 阅读 · 0 评论 -
Python中为朋友画图操作
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mplif __name__ == '__main__': mpl.rcParams['font.family'] = 'STSong' mpl.rcParams['axes.unicode_minus'] = False # 选择的分别是-注视时间,-首次注视时间,-注视次数 select原创 2020-11-30 22:09:56 · 142 阅读 · 0 评论 -
Python NumPy.all()与any()函数理解
最简单的理解是:all是当数组中全为true时返回true。any是只要数组中有任何一个为true时返回true。参考连接:https://blog.csdn.net/yl_best/article/details/102593264转载 2020-11-25 18:51:19 · 507 阅读 · 0 评论 -
python中数据结构之列表,元组,字典,集合以及*args和**Kargs的用法
参考地址:https://blog.csdn.net/yangkaiorange/article/details/82260773转载 2020-11-24 13:20:22 · 129 阅读 · 0 评论 -
Numpy学习——数组填充np.pad()函数的应用
pad函数的使用函数参数解释1、对一维数组进行扩充2、对二维数组进行扩充函数参数解释numpy.pad(array, pad_width, mode='constant', **kwargs)参数解释array——表示需要填充的数组;pad_width——表示每个轴(axis)边缘需要填充的数值数目。 参数输入方式为:((before_1, after_1), …(before_N, after_N)),其中(before_1,after_1)表示第1轴两边缘分别填充before_1个和a原创 2020-11-24 13:08:01 · 3914 阅读 · 0 评论 -
PyCharm 追踪代码回跳到上次光标位置
我们在查看自己代码或者源码,追踪函数或者方法的时候。按Ctrl + 鼠标左键就能跳到代码里,但是很多同学不知道怎么返回上一次的位置。返回快捷键:ctrl+alt+左箭头原创 2020-11-24 10:42:38 · 2094 阅读 · 0 评论 -
Python中的 // 与 / 的区别
" / " 表示浮点数除法,返回浮点结果;" // " 表示整数除法,返回不大于结果的一个最大的整数print("6 // 4 = " + str(6 // 4))print("6 / 4 =" + str(6 / 4))输出:6 // 4 = 16 / 4 =1.5原创 2020-11-23 20:24:07 · 191 阅读 · 0 评论 -
机器学习_感知器算法学习(Python实现)
感知器是一种分类算法,代码实现如下:import numpy as npimport pandas as pdimport matplotlib as mplimport matplotlib.pyplot as pltimport sklearn.datasets as datasetclass Perception: def __init__(self, alpha, times): """ 初始化方法 :param alpha:学原创 2020-11-19 11:31:38 · 357 阅读 · 0 评论 -
机器学习_KMeans聚类算法的学习(Python实现)
Kmeans算法是最常用的聚类算法。主要思想是:在给定K值和K个初始类簇中心点的情况下,把每个点(亦即数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。其训练数据的流程是:根据上面的流程图来实现具体代码:import numpy as npimport matplotlib as mplimport matplotl.原创 2020-11-19 10:54:55 · 1692 阅读 · 0 评论 -
np.dot()使用方法
np.dot()函数主要有两个功能,向量点积和矩阵乘法,这里我就简单列举了三种最常用到的情况np.dot(a, b), 其中a为一维的向量,b为一维的向量,当然这里a和b都是np.ndarray类型的, 此时因为是一维的所以是向量点积。import numpy as np a = np.array([1, 2, 3, 4, 5])b = np.array([6, 7, 8, 9, 10])print(np.dot(a, b)) output:130[Finished in 0.2s]转载 2020-11-18 11:08:06 · 457 阅读 · 0 评论 -
Pycharm中取消SciView输入
今天使用pycharm画图时,发现pycharm的图像默认输出到一个sciview的窗口,但是我不太习惯这种方式,所以又将图像输出方式改回matplotlib默认的输出方式,File|Settings | Tools | Python Scientific | Show plots in toolwindow选项勾给去掉就可以了...原创 2020-11-16 09:18:19 · 1026 阅读 · 0 评论 -
Python中numpy添加元素
首先这里p_arr为一个numpy的array,p_为一个元素p_arr = np.concatenate((p_arr,[p_])) # 先将p_变成list形式进行拼接,注意输入为一个tuplep_arr = np.append(p_arr,p_) #直接向p_arr里添加p_#注意一定不要忘记用赋值覆盖原p_arr不然不会变...原创 2020-11-13 11:43:15 · 6171 阅读 · 0 评论 -
python实现KNN分类算法
import sklearnimport numpy as npfrom sklearn.neighbors import KNeighborsClassifierimport sklearn.datasets as dataimport matplotlib as mplimport matplotlib.pyplot as pltfrom matplotlib.colors import ListedColormapimport pandas as pdfrom tensorboard.原创 2020-11-11 20:45:58 · 167 阅读 · 1 评论 -
Python中numpy中的bincount用法
该函数的作用是计算列表中每个元素的出现次数,传入列表必须是非负整数。其中每个元素的次数放在对应索引中。bincount中的分为加权重的和不加权重的。import numpy as npa = np.array([0,0,1,0,1,0])print(np.bincount(a)0元素有四个,1元素有两个,因此会输出:[4, 2]下面来看加权重的部分:import numpy as npa = np.array([0,0,1,0,1,0])print(np.bincount(a,wei原创 2020-11-11 20:40:09 · 745 阅读 · 0 评论 -
Python去掉中间字符的几种方法
1、直接使用字符串的的replace方法s.replace(' ','');2、join 和split一起使用的方法''.join(s.split(' '))3、正则表达式import rere.sub(' ','',s)原创 2020-11-11 19:54:50 · 2152 阅读 · 0 评论 -
[Python] 将True/False转为1/0的方法
方法1:在变量后直接加上 0 即可。import numpy as npa = np.array([True, False])print(a)print(a + 0)方法2:使用类型转换import numpy as npa = np.array([True, False])print(a)a.astype(int)print(a)原创 2020-11-11 10:41:10 · 12732 阅读 · 0 评论 -
Pandas详解DataFrame格式,Series格式
1. Series格式https://blog.csdn.net/weixin_42107718/article/details/98649208?utm_source=app2. DataFrame格式https://blog.csdn.net/weixin_42107718/article/details/98659921?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2alltop_click~default-2-9原创 2020-11-11 10:16:17 · 505 阅读 · 0 评论 -
Python中Numpy中的array和nsarray区别
array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。当传入参数本身是ndarray的时候才有作用 a = np.array([1,2,3]) b = np.asarray(a) b[0] = -1 print(a) 输出: [-1 2 3] 可以看出改b的值的时候,a的值也改了,说明 这是浅拷贝 a = np.array([1,2,.原创 2020-11-10 21:57:36 · 361 阅读 · 0 评论 -
Python中的 np.newaxis用法功能
https://blog.csdn.net/weixin_43283397/article/details/100561668?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.pc_relevant_is_cache&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearn转载 2020-11-10 14:14:58 · 286 阅读 · 0 评论 -
Python中的axis中有什么作用
axis=0表示对列axis=1表示对行 dd = np.array([[1,2,3],[3,4,5]]) print(dd.min()) 结果:1 dd = np.array([[1,2,3],[3,4,5]]) print(dd.min(axis=0)) 结果:[1 2 3] dd = np.array([[1,2,3],[3,4,5]]) print(dd.min(axis=1)) 结果:[1 3]...原创 2020-11-09 22:02:19 · 175 阅读 · 0 评论 -
Python语法np.c_分析、np.meshgrid、plt.pcolormesh和分类器
1、np.c_和np.r_直接上代码:多维的数据: d = np.array([[1, 2, 3], [4, 5, 6]]) c = np.array([[4,5,6],[7,8,9]]) print(np.c_[d,c])[[1 2 3 4 5 6] [4 5 6 7 8 9]] 一维的数据: d = np.array([1, 2, 3]) c = np.array([4,5,6]) print(np.c_[d,c])[[1 4] [2 5] [原创 2020-11-09 21:33:52 · 1600 阅读 · 0 评论 -
Python-web开发记录
1、安装 djangosudo apt-get install python-django -y2、创建文件夹django-admin startproject mysite3、运行python manage.py runserver 127.0.0.1:8080原创 2020-11-08 22:01:37 · 159 阅读 · 0 评论 -
Python机器学习记录_KNN预测男女
import sklearnimport numpy as npfrom sklearn.neighbors import KNeighborsClassifierimport sklearn.datasets as dataif __name__ == '__main__': x_train = [[192,90,46],[180,80,44],[160,45,36],[170,65,41],[154,41,34],[165,60,40]] y_train = ["boy","b原创 2020-11-07 14:38:22 · 589 阅读 · 0 评论