![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 76
胖虎卖汤圆
上海科技大学硕士
展开
-
Python Decorators
【代码】Python Decorators。原创 2023-05-23 00:22:00 · 358 阅读 · 0 评论 -
python + selenium + browsermobproxy环境配置
1.python版本:3.61.1. 使用anaconda创建一个python3.6版本的虚拟环境(非必要)anaconda安装:https://blog.csdn.net/qq_37392932/article/details/81210470在cmd中输入:conda create -n python36 python=3.62. 安装selenium先激活虚拟环境:conda activate python36pip安装slenium:python -m pip install原创 2021-05-07 20:42:44 · 4178 阅读 · 1 评论 -
Python main函数
Python main函数的用法Python作为一门较为灵活的解释型脚本语言,其中定义的main()函数只有当该Python脚本直接作为执行程序时才会执行;当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行。举一个例子:test1.py'''-*- coding: utf-8 -*-@Author : Xinda Chen@Time : 2021/4/8 19:46@Software: PyCharm@File : te原创 2021-04-08 19:57:13 · 881 阅读 · 0 评论 -
JoyfulPandas 第一章 预备知识
joyfulpandas首页:http://inter.joyfulpandas.datawhale.club/Home.html一、Python基础1.列表推导式与条件赋值在生成一个数字序列的时候,在Python中可以如下写出:L = []def my_func(x): return 2*xfor i in range(5): L.append(my_func(i))L[0, 2, 4, 6, 8]事实上可以利用列表推导式进行写法上的简化:[* for i i.原创 2021-01-28 22:51:48 · 318 阅读 · 0 评论 -
Jupyterlab如何切换Anaconda下的python虚拟环境
一、使用Anaconda创建python虚拟环境(已有虚拟环境可跳到下一环节)使用conda创建虚拟环境conda create -n your_env_name python=X.X(3.6、3.7等)your_env_name可换为你的虚拟环境的名称查看当前存在哪些虚拟环境conda env list激活虚拟环境conda activate your_env_name关闭虚拟环境conda deactivate删除虚拟环境conda remove -n原创 2021-01-17 22:52:58 · 7462 阅读 · 4 评论 -
机器学习一:k-近邻算法
什么是机器学习?在我们刚出生时,可以说我们对周围的事物一无所知,当我们第一次吃完苹果和梨后,下次吃时并不能分辨出两种水果的种类,但当我们吃过很多次后,再见到苹果和梨我们就能轻易地判断出来。机器学习简单来说可以理解成计算机认知的过程,但是计算机认知过程和人类认知过程有本质性的区别,人类是通过一次次不断实践来认知事物的,而计算机则是通过把大量无序的数据转换成有用的信息后总结出规律然后得出结论。简单...原创 2019-11-15 21:23:38 · 465 阅读 · 0 评论 -
ubuntu anaconda+pytorch-cpu或pytorch-gpu安装
推荐大家用Anaconda的原因:1、依赖项检查pip:不一定会展示所需其他依赖包。安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。conda:列出所需其他依赖包。安装包时自动安装其依赖项。可以便捷地在包的不同版本中自由切换。2、环境管理pip:维护多个环境难度较大。conda:比较方便地在不同环境之间进行切换,环境管理较为简单。3、 对系统自带Python的影响pip:在系统自带Python中包的**更新/回退版本/卸载将影响其他程序。conda:不会影响系统原创 2020-05-24 13:37:13 · 3655 阅读 · 0 评论 -
json转labelimg标注的xml文件
比赛只给了json文件,需要转成xml文件首先需要一个labelimg标注好的xml文件做模板,格式如下:<annotation verified="no"> <folder>train</folder> <filename>000000</filename> <path>D:/study/PycharmProjects/cv零基础/input/tra.原创 2020-05-19 10:09:21 · 785 阅读 · 2 评论 -
pyqt设置图标,设置窗口背景,并将背景平铺到整个窗口,随着窗口改变而改变
在用pyqt做窗体时会经常设置图标和背景来美化窗体,下面介绍一种设置图标和背景的简单方法设置图标调用QtWidgets.QWidget的setWindowIcon方法,该方法需要传入一个QIcon的实例:self.setWindowIcon(QIcon('')) #在''中输入图片路径设置窗口背景,并将平铺到整个窗口,随着窗口改变而改变在窗体类中写一个paintEvent(self...原创 2020-05-04 18:42:15 · 3369 阅读 · 5 评论 -
爬虫入门tast4:爬取某新闻
爬取Tencent新闻1 了解ajax加载2 通过chrome的开发者工具,监控网络请求,并分析3 用selenium完成爬虫4 具体流程如下:import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.get('https://news.qq.com/')两秒垂直滚动一次for...原创 2020-04-29 15:17:19 · 165 阅读 · 0 评论 -
爬虫入门task3:代理ip、selenium、session、cookies
一、代理ip为什么会出现IP被封网站为了防止被爬取,会有反爬机制,对于同一个IP地址的大量同类型的访问,会封锁IP,过一段时间后,才能继续访问如何应对IP被封的问题有几种套路:修改请求头,模拟浏览器(而不是代码去直接访问)去访问采用代理IP并轮换设置访问时间间隔如何获取代理IP地址从该网站获取: https://www.xicidaili.com/inspect ->...原创 2020-04-28 10:31:16 · 13757 阅读 · 1 评论 -
爬虫入门task2:bf4、xpath、正则表达式
二、学习内容2.1 Beautiful Soup库入门学习beautifulsoup基础知识。使用beautifulsoup解析HTML页面。Beautiful Soup 是一个HTML/XML 的解析器,主要用于解析和提取 HTML/XML 数据。它基于HTML DOM 的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。B...原创 2020-04-23 22:27:47 · 1313 阅读 · 0 评论 -
python爬虫入门一:HTTP、网页基础、requests、API、JS
互联网、HTTP互联网互联网也叫因特网(Internet),是指网络与网络所串联成的庞大网络,这些网络以一组标准的网络协议族相连,连接全世界几十亿个设备,形成逻辑上的单一巨大国际网络。它由从地方到全球范围内几百万个私人的、学术界的、企业的和政府的网络所构成。通过电子、无线和光纤等一系列广泛的技术来实现。这种将计算机网络互相连接在一起的方法可称作“网络互联”,在此基础上发展出来的覆盖全世界的全球...原创 2020-04-19 16:03:16 · 6249 阅读 · 0 评论 -
爬取WHO各国病例数据
还在为拿不到官方病例数据而发愁吗?WHO各国病例数据如下:https://experience.arcgis.com/experience/685d0ace521648f8a5beeeee1b9125cd我们的目的就是爬出这个图中的数据:审查元素首先我们随便点开一个国家的疫情情况:这里以中国为例,点开后找到URL:https://services.arcgis.com/5T5nS...原创 2020-03-17 17:13:03 · 3143 阅读 · 3 评论 -
Pandas resample, groupby, grouper, agg
介绍:本文重点介绍了pandas中resample、groupby、Grouper和agg函数的使用。resamplePandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。降采样:高频数据到低频数据升采样:低频数据到高频数据主要函数:resample()(pandas对象都会有这个方法)resample方法的...原创 2020-02-07 12:03:08 · 4593 阅读 · 0 评论 -
武汉加油!爬取百度迁徙地图数据+城市出行强度
最近为了建立预测病毒传播的模型,需要爬取到百度迁徙上的数据,这里顺手写一下一、找规律首先,我们打开http://qianxi.baidu.com/,随便查询一个城市的资料,比如查看北京29号的资料:可以找到数据存在这里,接下来我们看hearers找到:Request URL: http://huiyan.baidu.com/migration/cityrank.jsonp?dt=pro...原创 2020-01-30 20:38:09 · 10197 阅读 · 35 评论 -
pandas追加sheet到已有sheet的excel文件会覆盖的问题
一、创建数据import pandas as pdimport numpy as npdata1 = pd.DataFrame(np.arange(12).reshape((3, 4)))print(data1)data1.to_excel('123.xlsx', sheet_name='123')输出: 0 1 2 30 0 1 2 31 4 5...原创 2020-01-28 16:20:37 · 16787 阅读 · 15 评论 -
pandas基本操作(二)
二、基本功能1. 重建索引reindex是pandas对象的重要方法,该方法用于创建一个符合新索引的新对象:import numpy as npimport pandas as pdobj = pd.Series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c'])objd 4.5b 7.2a -5.3c ...原创 2020-01-24 11:29:57 · 321 阅读 · 0 评论 -
pandas基本操作(一)
一、pandas数据结构介绍1. SeriesSeries是一种一维的数组性对象,它包含了一个值序列,并且包含了数据标签,称为索引。最简单的序列可以仅仅由一个数组形成:import pandas as pdimport numpy as npobj = pd.Series([4, 7, -5, 3])obj0 41 72 -53 3dtype: i...原创 2020-01-24 11:29:06 · 274 阅读 · 0 评论 -
numpy基础操作(四)
一、线性代数函数描述diag返回对角线元素,或者将一个一维数组转换成一方阵,并且非对角线上为0dot 或 @矩阵点乘trace计算对角线元素和det计算矩阵列式eig计算方阵的本征值和本征向量inv计算方阵的逆pinv计算方阵的Moore-Penrose伪逆qr计算qr分解svd计算奇异值分解svdsol...原创 2020-01-24 11:28:37 · 234 阅读 · 0 评论 -
numpy基础操作(三)
一、数学和统计方法许多关于计算整个数组统计值或关于轴向数据的数学函数,可以作为数组类型的方法被调用,比如sum、mean和std,既可以直接调用数组实例的方法,也可以使用顶层的numpy函数。这里生成了一些正态分布的随机数,并计算了部分聚合统计数据:import numpy as nparr = np.random.randn(5, 4)arrarray([[ 0.54234154...原创 2020-01-24 11:27:33 · 299 阅读 · 0 评论 -
numpy基础操作(二)
一、数组转置和换轴转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容。数组拥有transpose方法,也有特殊的T属性:import numpy as nparr = np.arange(15).reshape((3, 5))arrarray([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], ...原创 2020-01-24 11:27:11 · 382 阅读 · 0 评论 -
python大数据:实战热水器用户行为识别(三、建立模型与模型检验)
五、模型构建import pandas as pdfrom sklearn.preprocessing import StandardScalerfrom sklearn.neural_network import MLPClassifierimport joblib1. 读取数据# 读取数据Xtrain = pd.read_excel('../tmp/sj_final.xlsx'...原创 2020-01-22 16:32:00 · 1211 阅读 · 10 评论 -
numpy基础操作(一)
一、生成ndarray1. 最简单的方法就是使用array函数。array函数接收任何的序列型对象(当然也包括其他的数组),生成一个新的包含传递数组的numpy数组。例如:import numpy as npdata1 = [6, 7.5, 8, 0, 1]arr1 = np.array(data1)arr1array([ 6. , 7.5, 8. , 0. , 1...原创 2020-01-22 16:30:21 · 620 阅读 · 0 评论 -
numpy简介
一、numpy在数据分析的应用:在数据处理、清洗、构造子集、过滤、变换以及其他计算中进行快速的向量化计算常见的数组算法,比如sort、unique以及set操作等高效的描述性统计和聚合、概述数据数据排列和相关数据操作,例如对异构数据进行merge和join使用数组表达式来表明条件逻辑,代替if-elif-else条件分支的循环。分组数据的操作(聚合,变换以及函数式操作)二、num...原创 2020-01-22 16:29:53 · 440 阅读 · 0 评论 -
Seaborn.set()与Seaborn.catplot()
一、导入相关包%config IPCompleter.greedy=Trueimport seaborn as snsimport pandas as pdimport numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inline二、Seaborn绘图风格设置1.sns....原创 2020-01-20 09:26:06 · 12505 阅读 · 2 评论 -
python大数据:实战热水器用户行为识别(二、数据预处理)
四、数据预处理1. 属性归约因为分析主要对象热水器用户,分析的主要目的为热水器用户洗浴行为的一般规律,所以“热水器编号”属性可以除去;因为“有无水流”可以通过“水流量”属性反映出来,“节能模式”属性取值相同均为“关”,对分析无用,可以去除。删除“热水器编号”、“有无水流”、“节能模式”后数据如下所示:import pandas as pdimport numpy as npimport...原创 2020-01-19 22:54:43 · 2515 阅读 · 3 评论 -
python大数据:实战热水器用户行为识别(一、数据分析)
一、导入相关包#coding:utf-8#导入warnings包,利用过滤器来实现忽略警告语句。import warningswarnings.filterwarnings('ignore')import matplotlib.pyplot as pltimport pandas as pdimport seaborn as snsimport numpy as np%matp...原创 2020-01-19 22:45:27 · 1669 阅读 · 6 评论 -
模糊综合评判法
一、综合评价法综合评价法{主观赋权评价法(定性),例如层次分析法、模糊综合判定法客观赋权评价法(相关关系、各项指标的变异系数),例如灰色关联度法,TOPSIS法、主成分分析法等综合评价法\begin{cases}主观赋权评价法(定性),\\例如层次分析法、模糊综合判定法\\\\\\\\客观赋权评价法(相关关系、各项指标的变异系数),\\例如灰色关联度法,TOPSIS法、主成分分析...原创 2020-01-12 21:49:16 · 30242 阅读 · 1 评论 -
蓝桥杯11.17:最长公共子序列
问题描述给定两个字符串,寻找这两个字串之间的最长公共子序列。输入格式输入两行,分别包含一个字符串,仅含有小写字母。输出格式最长公共子序列的长度。样例输入abcdghaedfhb样例输出3样例说明最长公共子序列为a,d,h。数据规模和约定字串长度1~1000。分析这题是一道典型的动态规划题,设text1 = ‘abcdgh’, text2 = ‘aedfhb’我们先...原创 2019-11-18 01:29:16 · 465 阅读 · 0 评论 -
Python基础04.字符串和序列
一.Python字符串1.字符串的创建Python中的字符串可以使用""也可以使用‘’,其都是表示字符串类型创建一个字符串有两个方法方法一:方法二:也可以使用一些方法来创建数组2.字符串的修改由于字符串是不可修改数据类型,所以想要修改字符串只能通过间接的方式3.Python转义字符:4.字符串内置方法1capitalize()将字符串的第一个字符转换为大写2ce...原创 2019-10-24 10:45:38 · 160 阅读 · 0 评论 -
Python基础03.列表与元组
一.Python列表1.创建一个列表有两种方法能创建列表第一种方式:第二种方式:还有一种方法是用list()方法将迭代器(如元组、字符串等)转换为列表2.列表的切片python中的索引都是从零开始,比如要将列表a的前五个元素切出来应为a[0:5]或a[:5]如果想以步长为2将列表a的前五个元素切片应为a[:5:2]若想将列表翻转可以用或用列表内置方法a.reverse...原创 2019-10-23 22:37:45 · 168 阅读 · 0 评论 -
Python基础02. 条件与循环
Python3条件语句基本语法:1.if语句if variable1 > variable2: # 这里variable1 > variable2可替换成任意判断语句,注意最后的冒号 pass # 这里输入将要执行的语句块,注意缩进pass不做任何事情,一般用做占位语句2.if else语句if variable1 > variable2: # 这里varia...原创 2019-10-21 20:22:44 · 120 阅读 · 0 评论 -
Python基础01. 变量、运算符与数据类型
一.Python变量:标识符1.第一个字符必须是字母表中字母或下划线 _ 。2.标识符的其他的部分由字母、数字和下划线组成。3.标识符对大小写敏感。4.在使用变量前,需要对其先赋值。注意:在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。保留字保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块...原创 2019-10-20 19:19:54 · 158 阅读 · 0 评论 -
Leetcode实战:236.二叉树的最近公共祖先
题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例1:输入: root = [3,5,...原创 2019-10-08 10:56:00 · 309 阅读 · 0 评论 -
Leetcode实战:237. 删除链表中的节点
题目:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例2:输...原创 2019-10-08 23:17:06 · 104 阅读 · 0 评论 -
Leetcode实战:238. 除自身以外数组的乘积
题目:给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]算法实现:class Solution(object): def productExceptSelf(self, nums): ...原创 2019-10-08 23:19:34 · 85 阅读 · 0 评论 -
Leetcode实战:292. Nim 游戏
题目:你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 ...原创 2019-10-08 23:22:19 · 79 阅读 · 0 评论 -
Leetcode实战:344. 反转字符串
题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例2:输入:["H...原创 2019-10-08 23:24:48 · 90 阅读 · 0 评论 -
Leetcode实战:557. 反转字符串中的单词 III
题目:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。示例:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 算法实现:class Solution(object): def re...原创 2019-10-08 23:27:15 · 81 阅读 · 0 评论