![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python
python相关知识
白日梦想家_胖七七
这个作者很懒,什么都没留下…
展开
-
过拟合和欠拟合
在训练集上表现好,在测试集上表现差,模型的泛化性能低。(学习器把训练样本学得太好了,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质)原创 2022-10-13 21:17:56 · 314 阅读 · 0 评论 -
对xgboost进行可视化,解决中文乱码问题
将下载的exe安装,并在系统环境变量中添加graphviz变量名,地址为graphviz安装路径中的bin/dot.exe。在python中添加如下代码。原创 2022-08-09 17:00:42 · 857 阅读 · 0 评论 -
编程题02——找出与质心最近的点
描述:在二维平面上有k(编号为0~k-1)个点,请找出这k个点中离质心最近点的编号。质心,就是指其横坐标,纵坐标分别为k个点的横坐标平均值,纵坐标平均值的点,如果存在到质心距离相同的点,则返回编号小的点的编号示例:输入:[“1,1”,“2,2”,“1,2”,“1,3”]输出:2参考:不使用numpy找距离质心最小点实例_慧慧想弹琴的博客-CSDN博客...原创 2022-07-02 11:17:00 · 1360 阅读 · 0 评论 -
编程题01——十进制转二进制
python实现十进制与二进制转换原创 2022-07-02 10:57:00 · 202 阅读 · 0 评论 -
python动态编写SQL语句,查询openGauss数据库表(postgres)
python连接opengauss进行动态SQL查询原创 2022-06-01 21:29:52 · 1141 阅读 · 0 评论 -
openGauss数据库创建表,并给表字段添加注释。
#建立数据库连接# connect() 方法的参数一般包括:# database: 要连接的数据库名称# user:连接数据库的用户名# password: 连接数据库的密码# host: 数据库端口的地址,一般为 “localhost”,或者主机的IP地址# port: 门户 opengauss默认为26000.con = psycopg2.connect(database="datasets", user="jack", password="gauss@111", host="192..原创 2022-05-31 20:10:05 · 2476 阅读 · 0 评论 -
小应用——比较两个硬盘/U盘内的文件缺少了哪些
老板需求:每次拷贝文件到硬盘里的时候都会由于一些莫名奇妙的原因导致文件拷贝失败,或是自动跳过该文件不进行拷贝。拷贝完成后,不清楚哪些文件没有拷贝,丢失的文件需要手动寻找,非常麻烦。应用功能:比对目录A和目录B,返回结果:1.A比B多了哪些文件2.B比A多了哪些文件import osdef getAllFiles(path): flist = [] for root, dirs, fs in os.walk(path): for f in fs:原创 2022-05-30 11:10:33 · 766 阅读 · 0 评论 -
Pycharm+PyQt5+Qt Designer+PyUIC配置教程
环境准备1.windows10下成功安装pycharm。2.windows10下成功安装anacoda3。安装1.安装pyqt5相关包,以及designer.exe。打开anaconda3的命令行,使用pip命令安装(我使用了镜像网站)。pip install pyqt5 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com安装成功会显示 Successfully installed pyqt5。继续原创 2022-05-25 19:43:35 · 775 阅读 · 1 评论 -
scikit-learn构建模型的万能模板
前言这篇文章是我在微信公众号深度学习初学者上面看到的,《机器学习入门必看|使用scikit-learn构建模型的万能模板》,感觉十分适合初学者。为防止文章连接失效,特在此记录文章主要内容。机器学习入门必看|使用scikit-learn构建模型的万能模板1.明确你需要解决的问题是什么类型,以及知道解决该类型问题所对应的算法。常见的问题类型只有三种:分类、回归、聚类。分类:如果你需要通过输入数据得到一个类别变量,那就是分类问题;分成两类就是二分类,分成两类以上就是多分类问题。比如,判别一个邮转载 2022-04-22 20:27:58 · 266 阅读 · 0 评论 -
机器学习——数据预处理——字符串数值特征提取(正则表达式)
1.对字符串类型的数据,提取里面的数字。我这里有一个dataframe格式的数据,每一列几乎都是数字+单位组成的一个字符串。在用机器学习进行分析的时候,由于每一列的数据单位都一样,可以忽略掉单位仅用数字进行分析即可。具体操作方法:使用正则表达式,匹配整数和小数,并返回一个列表。import refor col in d_object.columns: d_object[col] = d_object[col].map(lambda s:re.findall('-?[0-9]+\.原创 2022-04-17 10:37:42 · 1829 阅读 · 0 评论 -
机器学习——随机森林
回归预测1.划分数据集读取数据后,先划分出自变量x和因变量y(不做过多解释),然后进行训练集和测试集的划分(划分方法如下)。from sklearn.model_selection import train_test_splitX_train,X_test,y_train,y_test = train_test_split(x,y,test_size=0.2)#划分训练集和测试集,20%作为测试集,80%作为训练集2.模型训练与预测random_model = RandomFore原创 2022-04-15 16:54:28 · 1302 阅读 · 0 评论 -
机器学习——特征工程(实战)
onehot编码——类别字段机器学习中,对于一些类别字段,计算机是不能直接进行识别的。例如某个数据集中,动物类别分为cat、dog、turtle、fish等,可以通过onehot编码将其转换成计算机所能识别的数字。 pet cat dog turtle fish cat cat dog turtle fish 1 0 0 0 0 1 0 0 0 0 1 0 0 0原创 2022-04-15 16:27:44 · 1389 阅读 · 0 评论 -
Anaconda多版本python管理以及jupyter notebook使用教程
常用python的人一般都会直接安装Anaconda而不是python官网的python.exe,这是因为Anaconda是一个用于科学计算的发行版python版本,内含许多python库函数,提供了环境管理和包管理,同时能够解决python多版本共存的问题。写了这么久的python,今天才发现jupyter是网页版的python编写器,如果安装了anaconda的话不需要进行特别安装可以直接使用,并且每写一行代码都可以直接运行,十分方便。具体使用教程:打开anaconda powershell原创 2022-04-15 15:05:45 · 508 阅读 · 0 评论 -
Pyqt实现多线程,将耗时的程序放到后台运行
问题在编写一个软件的过程中,有个读文件处理数据的功能十分耗时,处理时间可能要15分钟左右。若采用单线程,那么在执行这个功能的时候,便不能点击软件的其他部分,否则就会出现软件卡死的情况,用户体验感极差。解决采用多线程的方法,重开一个线程在后台执行这个功能,前段主线程执行其他的功能。代码新建一个线程类,继承自QThread类from PyQt5.QtCore import QThread, pyqtSignalfrom NewSource.ExtractSourceCode impo原创 2022-04-13 21:32:54 · 1879 阅读 · 0 评论 -
PyQt解决QTableWidget显示大体型数据需要等待很久的问题
问题:在使用QTableWidget进行表格数据显示时,存在一个非常致命的问题,就是如果你的表格数据很大,那么它会在全部遍历完行和列之后才会一次性的全部显示,时间复杂度为n方。如果n非常大,常常需要等十多分钟,才能显示成功。解决:每遍历完一行就显示一行,并且添加进度条提示用户程序当前进度的百分比。progressbar.py定义了一个进度条类 class progress''' params: 1、百分比 percentage 2、显示的文字 text'''原创 2022-04-13 15:57:43 · 1441 阅读 · 0 评论 -
python中if判断条件
不知为何,用if判断变量是否为空时,总是分不清要不要加not,特地整理一下。python中,如果一个变量为空,那么他的值就是None,None与False等价。若i为空,not i等价于True。if执行条件是后面的表达式为true。例如,判断list是否为空,为空执行赋值操作,不为空不进行操作,正确写法应为:li = []if not list: li.append("hello")else: break...原创 2022-04-13 15:19:13 · 1403 阅读 · 0 评论 -
python实时显示程序运行进度条
在训练模型或是进行大型for循环的时候,常常需要几个小时。然而我们在运行程序的时候完全不清楚这个程序要运行多久,已经运行到百分之多少了。若是没有实时输出的内容,程序一点击运行之后,彷佛电脑死机了一样,在那静悄悄的运行一动不动,太痛苦了。就好像追女孩的时候,不知道进度条一样,绝望啊!但是,有了tqdm模块之后,一切就不一样啦!tqdm安装pip install tqdm以多层for循环为例,只需要在最外层for循环加一个tqdm函数即可。from tqdm import tqdmf原创 2022-04-13 09:28:00 · 4518 阅读 · 0 评论 -
python查询opengauss数据库报错InvalidTextRepresentation: invalid input syntax for type numeric
终于解决了中文列名的查询问题,却又出现了查询数据类型报错的问题。欲哭无泪啊!!博主的数据库里有个时间码的数据列,内容是数字+字母的形式,数据列为text类型,但是在进行条件查询的时候一直报错数据类型有问题,意思大概是前面64810000是数字,后面ms是字母,格式不同。但是我的数据列明明是text啊!怎么还会有格式问题。查询语句如下:sql = 'select * from source2decode where "工程参数.本机时间码" = 64810000ms'博主鼓捣了一下午也没原创 2022-04-12 20:06:14 · 2966 阅读 · 0 评论 -
python条件查询opengauss数据库中文列名的数据
问题:由于项目要求,数据库中的列名都是以中文命名的,导致在后期查询的时候出现了很多问题。解决方法:整条SQL语句需要用单引号包裹,中文列名需要用双引号包裹起来。import psycopg2def dataFromDB(sql): # 连接数据库 conn = psycopg2.connect(database='datasets', user='jack', password='gauss@111', host='192.168.80.130', port='260.原创 2022-04-12 18:11:27 · 1393 阅读 · 0 评论 -
Qt之数据表格QTableWidget用法及pyqt调用
QTableWidget是qt和pyqt程序中常用的显示数据表格的控件。用法:1.创建QTableWidget对象,然后设置列数和行数。2.设置每一列标题。3.添加数据项addItem()函数。4.将数据通过QTableWidgetItem对象放入第row行和第col列的单元格里面。这里行和列都是从0开始的。常用函数setROwCount(int row) 设置QTableWidget表格控件的行数 setColumnCount(int col) ...原创 2022-04-12 15:07:20 · 3047 阅读 · 1 评论 -
python将Dataframe格式的数据写入opengauss数据库(postgres数据库)
前提准备:成功opengauss数据库,并创建用户jack,创建数据库datasets。数据准备:所用数据以csv格式存在本地,编码格式为GB2312。数据存入:# 加载必要的python库from sqlalchemy import create_engineimport pandas as pd# 从本地读入数据df = pd.read_csv("E:/jiema.csv",low_memory=False,encoding='gb2312')#创建数据库引擎#cr原创 2022-04-11 20:07:53 · 1641 阅读 · 0 评论 -
关键词提取——TextRank算法总结
参考:TextRank算法介绍及实现_Asia-Lee的博客-CSDN博客_textrank原创 2022-04-08 20:46:32 · 540 阅读 · 0 评论 -
Python将字符串str格式的数据转换成datetime格式数据(为时序预测做准备)
1.导入数据,并查看初始时时间数据的格式和类型data = pd.read_csv('1.csv',encoding='gb2312')time = data["时间"]print(type(time[0])) #查看时间数据的格式类型print(time)2.str转datetime数据虽然为str类型,但是有一定的模板格式——"年-月-日-小时:分钟:秒.毫秒"data['date'] = pd.to_datetime(data['时间'], format='%Y-%m-原创 2022-04-08 10:21:07 · 16630 阅读 · 1 评论 -
机器学习——特征选择(降维)PCA和MDA
实际的分类问题和回归问题中,都有可能遇到多达50个或100个(甚至更多)的特征问题。对于分类问题来说,特征若为二值变量,我们通常认为其中的任何一个特征对于实现正确的分类都有它自己的贡献。但是,有理由怀疑这些特征之间是否存在着相关性,即里面是否存在着某种信息的冗余。回归问题也同样存在特征冗余的情况。本篇博客重点讨论回归问题中特征选择的情况。一、成分分析一种处理过多维数的方法是采用组合特征的方法来降维。对几个特征作线性组合是一种特别具有吸引力的方法,因为线性组合容易计算,并且能够进行解析分析。从本质原创 2022-04-02 14:38:04 · 3094 阅读 · 0 评论 -
pyinstaller打包pyqt5程序步骤
1. 按住win+R键,输入cmd,进入到命令行。进入main.py所在的文件路径下。2.输入打包命令 ,注意-F代表只生成一个.exe文件。pyinstaller -F main.py3.将文件中调用的文件手动放到exe同目录下。4.双击exe文件运行即可。......原创 2022-03-31 19:25:50 · 2407 阅读 · 0 评论 -
机器学习——数据集预处理(数据查看和空值处理)
前言目的:本数据集是为了分析炉丝功率和炉膛温度以及样品盒内部温度之间的关系,分析温场的分布等。来源:本数据集的来源是实验获得的数据。特点:特征维度高,数据量大。数据集查看1.查看数据集的基本信息(列名、行数、数据类型等)import pandas as pddata = pd.read_csv('数据集.csv') #替换自己文件实际位置info = data.info()print(info)2.显示前5行数据head = data.head()pr原创 2022-03-31 15:58:28 · 4932 阅读 · 0 评论 -
pyinstaller打包pyqt5的过程中遇到的问题总结
1.打包时虽然有很多warning,但是显示打包成功,生成了exe文件。运行exe文件的时候,直接闪退了。解决办法:从cmd命令行进入到exe所在的文件位置,输入main.exe命令直接运行(main.exe是我的exe文件名称),会提示运行不了的原因。2.提示运行不了的原因是找不到模块。解决办法:(1)anaconda的依赖包找不到:重新打包,将anaconda依赖包所在的路径加进去。(lib/site-packages)(2)python相关的包找不到:pip install --u原创 2022-03-26 10:31:24 · 2498 阅读 · 0 评论 -
python pip安装用到国内的镜像链接
问题:在使用pip命令的过程中经常会因为网络问题报各种错误,read time out、could not fetch URL等等解决办法:使用下面的命令的是:(其中的pywinauto是需要安装的包)pip install pywinauto -i http://pypi.douban.com/simple --trusted-host pypi.douban.com其他镜像参考:1)http://mirrors.aliyun.com/pypi/simple/ 阿里云2)http原创 2022-03-25 14:16:00 · 262 阅读 · 0 评论 -
python读取文件之前判断文件编码格式
python读取文件之前判断文件编码格式_q_xiami123的博客-CSDN博客_python判断文件编码格式转载 2022-03-08 17:34:52 · 616 阅读 · 0 评论 -
pyqt实现统计checkbox树形列表选中了多少个子项
self.toolButton_14.clicked.connect(lambda:temperatureConvert.get_checked(item_0))#item_0是树的根节点(本项目中有且仅有一个根节点,便于统计选中子项的数量) def get_checked(self, node: QTreeWidgetItem) -> list: """ 得到当前节点选中的所有分支, 返回一个 list """ temp_list = [] .原创 2022-02-15 16:04:20 · 595 阅读 · 0 评论 -
python处理csv文件画图
1.需要的库文件import matplotlib.pyplot as pltimport pandas as pdimport numpy as np2.解决中文文字显示乱码等问题plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文显示乱码问题plt.rcParams['font.family'] = 'sans-serif' #设置字体格式plt.rcParams['axes.unicode_minus'] = False 3原创 2021-12-08 14:47:08 · 9889 阅读 · 0 评论 -
python根据csv中的数据,绘制折线图
函数功能:读取文件中的几列,绘制折线图,标注x轴标签和y轴标签,表明,曲线最大最小值等。效果:源码:#导入库import csvimport matplotlib.pyplot as pltimport pandas as pdimport numpy as np#文字显示乱码问题plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['font.family'] = 'sans-serif'plt.rcParams原创 2021-11-29 15:27:38 · 8038 阅读 · 0 评论 -
python实现csv每隔x行取数
函数功能:读取csv文件,每隔20行取一行,写入新的csv文件。def InterlacedAccess(read_path,write_path): import pandas as pd # read_path = r'E:\data\manual\处理后20211127093020.csv' # write_path =r'E:\data\manual\processData\处理后20211127093020.csv' data = pd.read_csv(原创 2021-11-29 15:05:01 · 1866 阅读 · 0 评论 -
pyqt5之Qtablewidget
1.自动适应列宽#自动适应列宽 self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)2.手动适应列宽#自动调节列宽 self.tableWidget.horizontalHeader().setSectionResizeMode(0,QHeaderView.Interactive)...原创 2021-11-17 11:12:34 · 334 阅读 · 0 评论 -
python利用pandas库读取csv文件显示到Qtablewidegt中
完整代码self.tableWidget.clear(); #清空原有表格内容 # 读取文件 input_table = pd.read_csv("E:\\data\\2.csv") # 打开读取excel表格 input_table_rows = input_table.shape[0] # 获取表格行数 input_table_colunms = input_table.shape[1] # 获取表格列数 .原创 2021-11-17 08:35:54 · 2910 阅读 · 11 评论 -
python中NumPy库的相关内容
简介(Numerical Python的简称)是python科学计算的基础包。 提供了以下功能: 1.快速高效的多为数组对象ndarray 2.用于对数组执行元素级计算以及直接对数组执行数学运算的函数 3.用于读写硬盘上基于数组的数据集的工具 4.线性代数运算、傅里叶变换,以及随机数生成 5.用于将C、C++、Fortran代码集成到python的工具除了为python提供快速的数组处理能力,...原创 2021-11-16 21:33:35 · 138 阅读 · 0 评论 -
python中pandas库的相关内容
简介pandas含有使数据分析工作变得更快更简单的高级数据结构和操作工具。pandas是基于NumPy构建的,让以NumPy为中心的应用变得更加简单。pandas有两个主要的数据结构:Series 和 DataFrame。虽然它们并不能解决所有问题,但它们为大多数人提供了一种可靠的、易于使用的基础。SeriesSeries是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。DataFrameDat...原创 2021-11-16 21:18:56 · 1131 阅读 · 0 评论 -
python+PyQt5实现在主界面调用另一个界面
1.首先需要准备一个主界面的UI文件,叫做MainWindow.ui,然后生成MainWindow.py文件。2.然后准备一个子页面的UI文件,叫做QueryResult.ui,然后生成QueryResult.py文件。3.在designer模式下给主界面控件添加信号/槽(我这里实现的功能是点击按钮跳转到另一个界面,所以我给button绑定了一个click()信号)。4.保存修改后的主界面。5.重新生成py文件。6.在主程序文件中,定义两个类分别对应我们的主页面类和子页面类。7.原创 2021-11-08 21:15:33 · 9645 阅读 · 1 评论 -
python文件的基本操作
参考: python的文件基本操作和文件指针读写模式基本操作r,w,ar 只读模式 【默认模式,文件必须存在,不存在则抛出异常】 w 只写模式 【不可读模式;不存在则创建;存在则清空内容】 a 只追加模式 【不可读模式;不存在则创建;存在则只追加内容】 rb,wb,abb表示以字节的方式操作(文件的存储形式一般都是以字节形式存储,使用这种模式无需考虑文本文件的字符编码,图片文件的jpg格式、视频文件的avi格式)注:以b的方式打开时,读取到原创 2021-11-08 21:03:57 · 86 阅读 · 0 评论 -
python读取一个字节后按位打印出来
#按位打印出来f = open("E:\\data\\20211008151402.dat", 'rb')# read one bytebyte = f.read(1)# convert the byte to an integer representationbyte = ord(byte)# now convert to string of 1s and 0ss = hex(byte).zfill(2).encode()byte = bin(byte)[2:].rjust(8, '0'.原创 2021-11-05 17:04:29 · 657 阅读 · 0 评论