自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 python输入一个日期计算前几个月日期或者后几个月日期的方法

计算日期前后几个月日期的方法

2022-08-02 11:27:02 1631 1

原创 Python面试总结

Celery的使用什么是Celerycelery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注与实时处理的异步任务队列,同时也支持任务调度。celery的组成celery的架构由三部分组成,消息中间件(message borker)、任务执行单元(worker)和任务执行结果存储(task result srote)组成。消息中间件:celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括RabbitMQ,Redis等等。任务执行单元:worker是ce

2022-02-26 02:57:03 1000

原创 Celery理解

celery初步理解

2022-02-25 21:12:24 9322 1

原创 pgsql在使用中遇到的问题

使用curs.execute(sql, (a,))传递形参a的时候参数会自动加’’解决方法:from psycopg2._psycopg import AsIs

2021-12-16 15:04:23 307

原创 pandas中apply(),transform(),agg()使用心得

transform()使用方法:df.groupby([‘id’, ‘name’])[‘price’, ‘price_’].transform(‘count’)transform() 里面不能跟自定义的特征交互函数,因为transform是真针对每一元素(即每一列特征操作)进行计算tramform()可以使用python的内置方法,运算速度较快agg()使用方法:df.groupby([‘id’, ‘name’])[‘price’, ‘price_’].agg(‘count’)agg()

2021-09-15 15:47:10 1302

原创 mongodb的使用

获取当前正在使用的数据库:db.getName()查看已有的数据库(显示所有的数据库):show databases# 或者show dbs选择数据库use 数据库名称删除数据库# 先选择数据库use 数据库名称# 再删除数据库db.dropDatabase()查看数据库状态db.stats()查看数据库相关帮助信息db.help()查看数据库已有的集合# 查看集合之前应该先进入数据库中: use 数据库show tables# 或者show colle

2021-07-09 19:44:50 105

原创 mysql事务与外键

事务为什么要有事务事务广泛的运用于订单系统、银行系统等多种场景例如:A用户和B用户是银行的储户,现在A要给B转账500元,那么需要做以下几件事:检查A的账户余额>500元A账户中扣除500元B账户中增加500元正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜。那如果A账户扣了钱之后,系统出故障了,A白白损失了500,而B也没有收到本该属于他的500。以上的案例中,隐藏着一个前提条件:A扣钱和B加钱,要么同时成功,要么同时失败。事务的需求就在于此。事务(Tra

2021-07-06 23:25:43 368

原创 mysql数据库备份与还原:

数据的备份与还原:在操作数据库时,难免会发生一些意外造成数据丢失。如:突然停电、管理员的操作失误都可能导致数据的丢失。为了确保数据的安全,需要定期对数据库进行备份,这样,当遇到数据库中的数据丢失或者出错的情况,就可以将数据进行还原,从而最大限度地降低损失。为了保证数据的安全,需要定期对数据进行备份。备份的方法有很多种,效果也不一样。如果数据库中的数据出现了错误,就需要使用备份好的数据进行数据还原。这样可以将损失降至最低。而且,可能还会涉及到数据库之间的数据导入和导出。数据的备份:备份数据是数据

2021-07-06 20:56:40 560 1

原创 数据库设计

数据库的设计① 关系型数据库建议在E-R模型的基础上,我们需要根据产品经理的设计策划,抽取出来模型与关系,制定出表结构,这是项目开始的第一步② 在开发中有很多设计数据库的软件,常用的如power designer,db desinger等,这些软件可以直观的看到实体及实体间的关系③ 设计数据库,可能是由专门的数据库设计人员完成,也可能是由开发组成员完成,一般是项目经理带领组员来完成④ 现阶段不需要独立完成数据库设计,但是要注意积累一些这方面的经验三范式经过研究和对使用中问题的总结,对于设计

2021-07-06 19:36:54 139

原创 Mysql内置函数

mysql中的内置函数字符串函数数学函数日期时间函数类型转换函数流程控制字符串函数查看字符的 ascii 码值 ascii(str), str 是空串时返回0查看 ascii 码值对应的字符char(数字)拼接字符串concat(str1,str2…)包含字符个数 length(str)截取字符串left(str, len) 返回字符串 str 的左端 len 个字符right(str,len)返回字符串str的右端len个字符substring(str,p

2021-07-06 19:32:11 114

原创 mysql数据库CRUD操作

数据库的 CRUD 操作create:添加数据read:读取数据update:修改数据delete:删除数据准备数据# 创建数据库create database select001 charset=utf8;# 创建表create table goods( id int unsigned primary key auto_increment not null, name varchar(150) not null, -- 商品名称 cate varchar

2021-07-05 22:08:04 261 1

原创 mysql主查询和子查询

子查询的概念和分类子查询在一个select语句中,嵌入了另外一个select语句,那么被嵌入的select语句称之为子查询语句主查询主要查询的对象,第一条select语句主查询和子查询的关系子查询是嵌入到主查询中的子查询是辅助主查询的,要么充当条件,要么充当数据源。子查询是可以独立存在的语句,是一条完整的select语句。子查询分类标量子查询:子查询返回的结果是一个数据(一行一列)查询大于平均身高的学生# 先查询所有学生的平均身高select avg(height)

2021-07-05 00:18:13 1707

原创 mysql自关联查询的基本操作

自关联查询的基本操作准备工作:sql数据文件在下面连接自取提取码为:n0ug查询所有的省和自治区select * from province where pid=0;统计中国所有的省和自治区和直辖市:查询广东省都有哪些城市(想象成两张表):select p.name,s.name from province as p inner join province as s on s.pid=p.id where p.name = "广东省";...

2021-07-04 23:43:41 298

原创 Mysql表数据修改

插入数据增删改查全列插入增加全列插入insert [into] 表名 values(…)主键字段可以用0、null、default来占位像classes中插入一个班级注意:values也可以写成value,插入的数据,数据类型也应该与字段的数据类型保持一致。如果是字符串类型,取值必须加上引号。如果不加引号,数据库系统就会报错。字段为枚举类型写法default可以给默认值的字段进行使用默认值注意:全列插入的时候值的数量与字段的数量要保持一致,否则会报错。部分插入

2021-07-04 21:37:04 3939

原创 Mysql高级查询

连接查询操作当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回。mysql支持的三种类型的连接查询,分别是:内连接查询:查询结果为两个表匹配到的数据右连接查询:查询的结果为两个表匹配到的数据,右表特有的数据,对于左表中不存在的数据使用null填充左连接查询:查询的结果为两个表匹配到的数据,左表特有的数据,队友右表中不存在的数据使用null填充实例:下面创建一个班级表,一个学生表:create table classes(i

2021-07-01 01:22:26 71

原创 Mysql基本查询

Mysql基本查询创建表create table students(id int unsigned primary key auto_increment not null,name varchar(20) default '',age tinyint unsigned default 0,height decimal(5,2), -- 最大5位数字,其中两位小数gender enum('男','女','人妖','保密'),cls_id int unsigned default 0,

2021-06-30 00:24:50 138 2

原创 WampServer(mysql)安装

什么是WampServer?Wamp就是Windows Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。现在我们需要使用其中的Mysql。在Windows安装WampServer(mysql)可以直接从腾讯电脑管家的软件管理中下载。可以直接从官网下载WampServer官网配置mysql环境变量将C:\wamp\bin\mysql\mysql5.6.17\bin添加到环境变量path中(换成自己mysql下的bin路径)

2021-06-22 23:56:54 1110

原创 PyQt5的标准输入对话框QInputDialog

QInputDialogQInputDialog提供了一个简单的便利对话框,可以从用户获取单个值。输入值可以是列表中的字符串,数字或项目。QInputDialog包含的五种方法:getDouble(QWidget, str, str, value: float = 0, min: float = -2147483647, max: float = 2147483647, decimals: int = 1, flags: Union[Qt.WindowFlags,Qt.WindowType]=Q

2020-08-20 16:45:56 620

原创 PyQt5模块

QtCore模块涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及到的timg、文件、目录、数据类型、文本流、链接、mime、线程或进程等对象。QtGui模块涵盖多种基本图形功能的类;包括但不限于:窗口集、事件处理、2D图形、基本的图像和界面和文字文本。QtWidgets模块包含了一整套UI元素组件,用于建立符合系统风格的classic界面,非常方便,可以在安装时选择是否使用此功能。QtMultimedia模块包含了一套类库,该类库被用于处理多媒体事件,通过调用API接口访

2020-08-20 10:43:32 361 1

原创 PyQt5中的QMessageBox

QMessageBox.about就是弹出一个对话框,告诉你结果是什么样的。如下图:事实上QMessageBox除了有about外,还有我们程序中用到的QMessageBox.questionQMessageBox.criticalQMessageBox.warningQMessageBox.informationQMessageBox对话框包含类型只是图标不同其他无太大差别。...

2020-08-19 17:10:10 700

原创 PyQt5控件QPixmap、QLineEdit QSplitter,QComboBox

QPixmapQPixmap是用于处理图像的控件。是优化的显示图像在屏幕上。在我们的代码示例中,我们将使用QPixmap窗口显示一个图像。# -*- coding: utf-8 -*-"""PyQt5 tutorial In this example, we dispay an imageon the window.author: py40.comlast edited: 2017年3月"""import sysfrom PyQt5.QtWidgets import (QWi

2020-08-19 16:49:50 289

原创 PyQt5控件

PyQt5控件控件是构建应用程序的基本模块,PyQt5提供各种各样的控件,包括按钮、复选框、滑动条、列表框等。在这部分的教程中,我们将详细介绍几个常用的控件:QCheckBox,ToggleButon,QSlider,QProgressBar,QCalendarWIdget。QCheckBox(复选框)QCheckBox复选框控件,它有两个状态:打开和关闭,他是一个带有文本标签(Label)的控件。复选框常用于表示程序中可以启用或禁用的功能。# -*- coding: utf-8 -*-

2020-08-19 15:53:31 443

原创 PyQt5对话框

PyQt5对话框对话框窗口或对话框是现代GUI应用程序最不可或缺的一部分。一个对话框被定义为两个或两个以上的人之间的谈话。在计算机应用程序对话框窗口用于“交谈”应用程序。一个对话框用于输入数据,修改数据,更改应用程序设置等。QInputDialogQInputDialog提供了一种简单方便地对话框从用户得到一个值。输入值可以是字符串,一个数字,或一个项目和一个列表。# -*- coding: utf-8 -*-"""PyQt5 tutorial In this example, w

2020-08-19 14:45:45 330

原创 PyQt5事件和信号

事件Event所有的GUI程序都是事件驱动的。事件主要由用户触发,但也可能有其它触发方式:例如网络连接、window manager或定时器。当我们调用QApplication的exec_()方法时会使程序进入主循环。主循环会获取并发事件。在事件模型中,有三个参与者:事件源事件源是状态发生变化的对象。它会生成事件。事件对象事件(对象)封装了事件源中状态的变动。事件接收者事件接收者是要通知的对象。事件源对象将事件处理的工作交给事件接收者。PyQt5有一个独特的si

2020-08-19 11:40:03 343

原创 PyQt5开发核心机制:信号(Signal)和槽(Slot)的认识

介绍信号(Signal)和槽(Slot)是Qt中的核心机制,也是PyQt编程中对象之间进行通信的机制。在pyqt5中,每一个QObject对象和pyqt中所有继承自QWidget的控件都支持信号和槽;当信号发射时,连接槽函数将会自动执行,pyqt5中信号与槽通过connect()函数连接起来的。在pyqt5中信号主要分两类:内置信号(详情参考各个组件)自定义信号(主要用于组件之间数据的传递与窗口交互)内置信号的简单介绍使用connect()方法将信号与槽函数绑定在一起,使用dis

2020-08-19 11:00:44 1613

原创 PyQt5中的QObject对象

QObject在Qt中QObject是所有类的基类,换而言之是在Qt中所有的类均继承自QObject,这使得QObject中的所有方法在其它类中使用。所以学习QObject中的方法有其特殊的意义。继承结构测试的方法from PyQt5.QtCore import QObject# 创建一个QObject对象obj = QObject()# 获得父类mros = QObject.mro()for mro in mros: print(mro)# 结果如下:# <

2020-08-19 10:08:02 2837 1

原创 PyQt5与前端交互的三种方法

基本思路基本思路就是在pyqt界面直接加载html文件,并与html进行交互;下面是三个例子,会给大家做详细的说明建议使用PyQt5的5.11.0以下的版本,高版本不兼容;此次案例使用的是5.10.1版本案例一后端代码:import sysfrom PyQt5.QtWidgets import QApplicationfrom PyQt5.QtCore import QObject, pyqtSlot, QUrlfrom PyQt5.QtWebChannel import QWebCh

2020-08-18 23:52:31 5444 1

原创 PyQt5菜单和工具栏

主窗口QMainWindow类提供了一个主要的应用程序窗口。你用它可以让应用程序添加状态栏,工具栏和菜单栏。状态栏用于显示状态信息#!/usr/bin/python3# -*- coding: utf-8 -*-"""Py40 PyQt5 tutorial This program creates a statusbar.author: Jan Bodnarwebsite: py40.com last edited: January 2015"""import sy

2020-08-18 18:03:06 297

原创 PyQt5布局

框布局 Boxlayout我们使用QHBoxLayout和QVBoxLayout,来分别创建横向布局和纵向布局。def initUI(self): okButton = QPushButton("OK") cancelButton = QPushButton("Cancel") hbox = QHBoxLayout() hbox.addStretch(1) hbox.addWidget(okButton)

2020-08-18 17:20:29 323

原创 PyQt5的基本用法

创建一个pyqt5应用程序使用了PyQt5中的QtWidgets模块基本控件位于pyqt5.qtwidgets模块中。from PyQt5.QtWidgets import QApplication, QWidget每一个pyqt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,sys.argv就是运行程序时候获取命令行参数。app = QApplication(sys.argv)QWidget部件是pyqt5所有用户界面对象的基类,它为QWidget提供默认构造

2020-08-18 16:19:12 1629

原创 Scikit-learn工具介绍:

Scikit-learn工具介绍:sklearn数据集使用:scikit-learn数据集API介绍:sklearn.datasets加载获取流行数据集datasets.loas_*()获取小规模数据集,数据包含在datasets里datasets.feth_*(data_home=None)获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/加载sciki

2020-07-31 10:01:17 602

原创 数据分析综合案例

数据分析综合案例:数据分析流程什么是数据清洗?简单来说,数据清洗就是把“脏数据”变为“干净的数据”。数据清洗虽然很繁琐,但也很重要。数据清洗流程:数据的读写、数据的探索与描述、数据简单处理、重复值的处理、缺失值的处理、异常值的处理、文本字符串的处理、时间格式序列的处理。注意:重复值的处理、缺失值的处理、异常值的处理、文本字符串的处理、时间格式序列的处理,这几个顺序可根据实际情况调整顺序。【向前填充】就是使用缺失值前面的数据进行填充,同理,【向后填充】就是使用缺失值后面的数据进行填充,

2020-07-30 21:28:41 3030

原创 Pandas数据离散化

数据离散化:什么是数据的离散化:连续属性的离散化就是将连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数值代表落在每个子区间中的属性值。为什么要离散化:连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。如何实现数据的离散化:案例:将上面的例子用pandas实现。准备数据:data = pd.Series([165,174,160,180,159,163,192,184], index=[

2020-07-30 13:46:13 3203

原创 Pandas画图、统计、累计、csv文件的读取,缺失值的处理

Pandas画图:api手册如下:具体演示:准备数据:data = pd.read_csv("./data/stock_day.csv")data = data.drop([“ma5”, “ma10”, “ma20”, “v_ma5”, “v_ma10”, “v_ma20”], axis=1)绘制散点图:通过上图我们发现上面这两个字段貌似没有什么内在的关系。通过画图我们发现上面这两个字段貌似你在增长的时候我也在增长。pandas的IO操作我们的数据大部分存在于文件当

2020-07-29 23:20:51 1814 1

原创 Pandas基本数据操作、排序、算术运算、逻辑运算

索引操作:为了更好的理解这些基本操作,我们将读取一个真实的股票数据。关于文件操作,后面介绍,这里只先用一下API读取文件删除一些列,让数据更简单些,再去做后面的操作:data = data.drop([“ma5”, “ma10”, “ma20”, “v_ma5”, “v_ma10”, “v_ma20”], axis=1)注意:不能直接进行数字索引。Numpy当中我们已经讲过使用索引选取序列和切片选择,pandas也支持类似的操作,也可以直接使用列名、行名称,甚至组合使用。直接

2020-07-29 20:29:34 1319 1

原创 Pandas

Pandas介绍:数据处理工具。为什么使用Pandas:Numpy已经能够帮助我们处理数据,能够结合matplotlib解决部分数据展示等问题,那么pandas学习的目的在什么地方呢?边界的数据处理能力读取文件方便封装了Matplotlib、Numpy的画图和计算DataFrame类型:numpy中创建股票涨跌幅数据形式:但是这样的数据形式很难看到存储的是什么样的数据,并且也很难获取相应的数据,不如需要获取某个指定股票的数据,就很难去获取!!问题:如何让数据更有意义的显示。

2020-07-29 13:41:15 351

原创 Numpy数组间运算

数组间运算【数组与数】的4则运算:[[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]]注意:python里面的列表是这样的运算规则吗?不是的。我们发现a这个数组被复制了,可以参考python列表的运算,这样就对比出来一维数组和二维数组的区别了。【数组与数组】的4则运算:arr1 = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])arr2 = np.array([[1, 2, 3, 4]

2020-07-29 11:49:42 1328

原创 Numpy相关运算

比较运算重新生成8只股票10个交易日的涨跌幅数据:stock_change = np.random.normal(loc=0, scale=1, size=(8, 10))逻辑判断:如果涨跌幅大于0.5就标记为True,否则就标记为False。取出为True的具体数据:将为True的数据修改为1.1:也就是将满足条件的设置为指定的值。通用判断函数:np.all()np.any()总结:通用判断函数:np.all(布尔值)只要有一个False就返回Fals

2020-07-29 00:04:46 305

原创 Numpy数组

生成数组的方法在numpy中一般是两种操作方式:ndarray的变量名.方法()np.函数名(),比如np.array()生成0和1的数组:numpy.zeros_like(a):a是一个ndarray,即产生一个维度和a一样的小的全0数组。可以通过np中的arange()方法生成一个ndarray类的数组:上面的演变有可能在机器学习中遇到,所以,要认识一下。指定数组形状的时候不仅可以使用(),还可以使用[]在机器学习和深度学习的时候使用列表不报警告信息,使用元组的时

2020-07-28 21:40:27 2680

原创 Numpy的创建

Numpy介绍:Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。NumPy提供了一个N维数组类型ndarray,它描述了相同类型的"items"的集合Numpy介绍-数值计算库num-numerical 数值化的py-pythonnd

2020-07-28 14:10:15 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除