- 博客(104)
- 资源 (5)
- 收藏
- 关注
原创 Python Pandas 数据分析工具透视表(pivot table)
数据透视表概念数据透视表是Excel中常用的工具,本片文章的重点不是认识数据透视表,所以找了一片文章,供大家参考。>>>Excel学习笔记-数据透视表透视表操作总览df.pivot_table(values, index, columns, aggfunc, margins)values: 透视表中的元素值(根据聚合参数得出的)index: 透视表的行索引columns: 透视表的列索引aggfunc: 聚合函数,可以指定多个函数margins: 表示是否对所有数据进
2022-03-26 21:07:31 5879
原创 Python黑魔法揭秘:装饰器、生成器、异步编程、GIL、描述符和元类
本文深入探索了Python中被视为“黑魔法”的特性,包括装饰器、生成器、异步编程、全局解释器锁(GIL)、描述符和元类。装饰器是修改函数或类行为的工具,提供可读、重用的方式增强功能。生成器实现惰性求值,仅在需要时产生值。异步编程允许在等待一操作完成时执行其他任务。GIL保证只有一个线程在执行Python字节码,限制了Python多线程的并行计算。描述符允许自定义属性的访问行为。元类作为类的类,可以修改或增强类的行为。
2023-08-05 12:20:54 280
原创 Python代码悲观锁装饰器-避免关键代码重复执行
使用改装器的函数在多容器同时运行时,不会同时执行装饰器内的函数,避免多容器并行带来的问题。
2022-07-06 19:55:55 526 2
原创 Python:求任意数字最高位是第几位【针对所有数字类型的通用方案】
import mathdef maximum_number_of_digits(num: float): """ :param num: :return: 个位是第0位,小数点后第一位是-1位,以此类推~ """ if num == 0: return None return math.floor(math.log10(abs(num)))assert maximum_number_of_digits(5201314) == 6as
2022-05-05 15:27:22 1431
原创 终极解决方案:Python 将数字转为中文的万亿兆或者英文的KMBT形式
中文def humanize_float_cn(num: float, num_digits: int = 2): """ num:数字 num_digits:小数点保留位数 """ units = ['', '万', '亿', '兆(10^12)', '京(10^16)', '垓(10^20)', '秭(10^24)'] def strofsize(num, level): if level >= len(units) - 1:
2022-03-29 11:59:57 1676
原创 python pandas Series的索引操作
# 构建一个Series对象,接下来的操作基于这个对象ser_obj = pd.Series(range(5), index=['a', 'b', 'c', 'd', 'e'])行索引使用标签名称ser_obj.loc['b']使用索引位置ser_obj.iloc[1]切片索引使用标签名称切片包含头和尾的元素,使用索引名称,包含开头但是不包含结尾。使用标签名称ser_obj.loc['c': 'e']使用索引位置ser_obj.iloc[2:4]不连续索引使用
2022-03-20 19:55:10 3040
原创 Python Pandas 常用的数据结构有哪些?详解Series、DataFrame、Index数据结构。
Pandas常用数据结构Pandas简介Series构建 Series 对象通过数组/列表通过ndarray通过dict指定indexSeries 数据结构查看 Series 数据数据预览查看数据index索引values值name 属性通过索引名(str)获取数据通过索引位置(int)获取数据缺失数据处理字符串缺失数值缺失DataFrame构建 DataFrame 对象通过ndarray通过dictDataFrame 数据结构查看 DataFrame 数据获取行、列、值数据预览通过索引名获取数据增加列数据
2022-03-20 18:57:07 945
原创 Python如何形成良好的编程思维
前言:虽然标题是Python,但是文章基本上是所有语言通用的方法,主要是以Python举例。1. 弄清流程我向来有一个观点,写代码之前先搞懂流程,找工作入职往往是接手前人已经有很多基础代码的项目,很少有人入职是从0到1做一个新项目,流程分为三部分。公司的业务流程;现有代码的实现流程;需要做的新业务流程;这三点是循序渐进的,搞清楚了公司的业务流程,你才能更好的理解代码想要实现的功能;搞清楚前两点,你现在做的这部分功能是否跟之前的功能类似可以复用之前的的方法,甚至有这些功能,用之前的功能就.
2022-01-03 11:31:28 854 1
原创 从0到1快速搭建FastAPI项目:初识FastAPI
什么是FastAPI为什么要学习FastAPIFastAPI有哪些特性如何快速入门FastAPI
2021-04-18 21:13:34 2352
原创 一条命令解决:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
下载 brew 的时候出现报错信息,在网上搜了一大堆解决方案,都不太灵。如果你跟我一样,下载brew的时候出现以下报错信息的话。curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused建议换成国内下载地址,此地址安装有中文提示,非常贴心~/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Ho
2020-12-31 14:02:47 1739 3
原创 Python数据分析 | 数据分析常用的五个方法三个模型(逻辑分析、多维度拆解、对比分析、假设验证、相关性分析、RFM模型、漏斗分析模型、AARRR模型)
北京需要多少量共享单车?如何白嫖美团会员?为什么越喜好重金属的音乐的年轻人,越容易沾染酗酒等恶习?为什么游泳溺亡人数越多,雪糕越好卖?到底是人性的扭曲,还是道德的沦丧?
2020-12-08 21:28:01 2579 1
原创 Python | 经典面试题:列表(List)和元祖(Tuple)有什么异同?
Python面试常规问题,分为语法差异,是否可变,支持的方法,拷贝的区别,存储结构和大小差异差异和使用场景不同,详细阐述元祖和列表的区别。
2020-12-03 22:14:51 1500
原创 Python数据分析 | numpy模块
注:以下代码均是在 jupyter 中实现,如果复制不能复现,套个 print 输出一、numpy 的安装pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple二、 numpy 的使用1. 导入包# 导入包,默认都是将 numpy 起别名为 npimport numpy as np2. 创建一个数组# 一维数组np.array([1,2,3,4,5])# 二维数组np.array
2020-12-01 22:45:45 209
原创 Python爬虫 | 一博看懂 Scrapy 五大核心组件及其运行机制(spiders、引擎、调度器、下载器、管道)
一、 五大核心组件运行机制本来准备所有流程画到一张图当中,画完了发现这图只能让懂的人看懂,不懂的人还是看不懂,于是将图拆成三个部分。1. 发起请求spider 将请求对象提交给引擎,引擎将请求对象转发给调度器,调度器对请求对象去重,将去重后的请求对象装到队列当中,调度器将请求对象逐一给引擎,引擎将调度对象转发给下载器,下载器拿到请求对象之后,对网站发起请求。2. 解析数据下载器接收到网站返回的response,将response发送给引擎,引擎转发给spider做页面数据的提取xpa.
2020-11-25 21:47:52 666 2
原创 Python爬虫 | 初识爬虫框架:Scrapy
目录一、 Scrapy 框架的安装二、Scrapy 创建一个新的项目三、 Scrapy 项目基本配置setting.pytest.py一、 Scrapy 框架的安装pip3 install Scrapy出现这个就证明安装好了BUG传送门:error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”二、Scrapy 创建一个新的项目创建项目:scrapy s
2020-11-24 22:01:43 218
原创 error: Microsoft Visual C++ 14.0 or greater is required. Get it with Microsoft C++ Build Tools终极方案
一、 下载文件二、安装文件安装完成后,再使用 pip 命令下载需要的包就没有报错了。
2020-11-24 14:22:32 15674 4
原创 Python爬虫 | 生产者-消费者模型
生产者-消费者模式是一个十分经典的多线程并发协作的模式,弄懂生产者-消费者问题能够让我们对并发编程的理解加深。所谓生产者-消费者问题,实际上主要是包含了两类线程,一种是生产者线程用于生产数据,另一种是消费者线程用于消费数据,为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库。生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为;而消费者只需要从共享数据区中去获取数据,就不再需要关心生产者的行为。但是,这个共享数据区域中应该具备这样的线程
2020-11-23 22:03:12 962 1
原创 Python爬虫 | selenium 模拟登陆网站(模拟登陆12306购票平台)
一、准备工作下载 selenium 包pip install selenium下载浏览器自动化测试工具 webdriver(点击跳转下载)二、 selenium 访问页面获取验证码图片通过 selenium 爬取 12306 登录页并截图import requestsfrom selenium import webdriverfrom PIL import Imageheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT.
2020-11-22 20:14:07 833 1
原创 Python爬虫 | 反爬机制:人机验证登录限制(图片验证码的识别)
一、 注册打码平台二、 下载 Python 开发文档点击这里下载开发文档python3 可能会提示 SyntaxError: invalid syntax 注意把 print 后边加()如果是WIN系统,有时本地图片路径可能须要双斜杠//有时python版本可能会提示 tab 空格错误,注意统一一下换行符就行三、 将文档当中代码粘贴#!/usr/bin/env python# coding:utf-8import requestsfrom hashlib import md
2020-11-22 18:32:13 2371
原创 Python爬虫 | 反爬机制:懒加载(动态加载数据的爬取)
代码仅用于学习,切勿在其他用途使用!如对您的网站造成困扰,私信秒删!示例网站:豆瓣电影https://movie.douban.com/explore示例网站展示按照之前爬取网页的操作保存网页url = 'https://movie.douban.com/explore'headers = {#封装请求头 'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KH
2020-11-20 20:34:48 2947
原创 Python爬虫 | 反爬机制:Cookie | cookie反反爬策略,cookie反爬如何解决,cookie反爬处理,cookie反爬虫,获取浏览器cookies绕过反爬虫
代码仅用于学习,切勿在其他用途使用!如对您的网站造成困扰,私信秒删!示例网站:雪球首页示例网站展示:目的:获取热帖热帖的标题及内容右键检查一顿判断,找到需要的包,在此不再赘述,下边代码如不理解,可以看之前的博客,详细阐述了如何通过浏览器抓包。(反爬机制:懒加载)# 爬取一页当中的15条数据import requestsheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit
2020-11-19 22:25:29 2479
原创 Python 字符串拼接 ‘+=‘ 和 ‘join()‘ 谁的速度更快?
一、 字符串拼接的两种方法程序当中经常出现需要不断接收新字符串并将这些字符串组成新字符串输出的情况。该方法一般有两种解决方案,创建一个空字符串(test_str),将每次新传入的 new_str 使用 ‘test_str += new_str’ 的方式添加到原有字符串中,返回test_str创建一个空列表(test_list),将每次新传入的 new_str 使用 append(new_str) 的方式添加到列表当中,返回=="".join(test_list)==二、 效率之间的比较imp
2020-11-18 22:08:41 2133 2
原创 Python爬虫 | 反爬机制:IP限制高匿代理 IP 突破(爬虫 IP 被禁怎么办?)
一、 什么是代理?二、 代理服务器的作用可以进行请求的响应和转发三、 在爬虫中为何要使用代理如果我们使用爬虫对一个网站在一段时间内发起一个高频请求,该网站会检测出这个异常的现象,并将异常的请求 IP 获取,将 IP 加入到黑名单,然后改 IP 在近期就无法再次对该网站进行访问。四、 代理的匿名度匿名度是否知道使用代理是否知道真实IP透明是是匿名是否高匿否否五、 代理的类型类型功能http只能转发http协议的请
2020-11-14 22:22:16 1888
原创 Python爬虫 | 双十一篇之网购买的化妆品从哪里来?
示例网站:化妆品生产信息许可信息管理系统服务平台一、 网页展示管理平台首页点击任意一家企业,即可获取到企业的详细地址信息。企业相信信息得到地址就能通过地址画出热力图二、 页面逻辑主页经测试页面企业数据是通过 Ajax 请求,每点击一次就会获取一个新的页面上图详细数据(脱敏){“filesize”:"",“keyword”:"",“list”:[{“ID”:“a8c852318cb9448092939892be82e155”,“EPS_NAME”:"**.
2020-11-11 22:18:51 515
原创 Python爬虫 | 写在系列博客的第一篇,爬虫到底犯法吗?看完再开始爬虫!!!
一、 什么样的爬虫是非法的?爬虫不能涉及个人隐私!如果爬虫程序采集到公民的姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为。也就是说你爬虫爬取信息没有问题,但不能涉及到个人的隐私问题,如果涉及了并且通过非法途径收益了,那肯定是违法行为。另外,还有下列三种情况,爬虫有可能违法,严重的甚至构成犯罪:爬虫程序规避网站经营者设置的反爬虫措施或者破解服务器防抓取措施,非法获取相关信息,情节严重的,有可能构成.
2020-11-10 21:42:16 2858 1
原创 Python爬虫 | Chrome 版本与 ChromeDriver 映射表
一、 查询版本号Chrome版本ChromeDrivev87v87.0.4280.20v86v86.0.4240.22v85v85.0.4183.87v84v84.0.4147.30v8383.0.4103.39v82疫情影响,没有此版本v81v81.0.4044.69v80v80.0.3987.16v79v79.0.3945.36v78v78.0.3904.70v77v77.0.3865.40
2020-11-10 20:00:15 547
原创 Python爬虫 | 初识爬虫
一、什么是爬虫?就是通过编写程序让其模拟浏览器上网,然后再互联网中抓取数据的过程二、 爬虫的分类通用爬虫:抓取一整张页面源码数据。聚焦爬虫:抓取一整张页面中的局部内容,聚焦爬虫是需要建立在通用爬虫基础之上。增量式爬虫:通过爬虫程序监测某网站数据更新的情况,以便可以爬取到该网站更新出的新数据。分布式爬虫:实现了多台电脑使用一个共同的爬虫程序,它可以同时将爬虫任务部署到多台电脑上运行,这样可以提高爬虫速度,实现分布式爬虫。三、 反爬机制应用在网站中:通过反爬机制指定来阻止爬虫程序对其网
2020-11-09 20:59:01 145
原创 Python爬虫 | 爬虫工具:Xpath
Xpath的查找方式与BeautifulSoup类似,均是从树状图的父节点顺次往子节点查找,表示上有一定区别。位置标签含义最左侧的/指定从根标签开始进行指定标签的定位最左侧的//可以从任意位置指定标签(常用)非最左侧的/表示一个层级非最左侧的//表示多个层级...
2020-11-01 21:20:31 181
原创 Python爬虫 | 爬虫工具:BeautifulSoup
代码仅用于学习,切勿在其他用途使用!如对您的网站造成困扰,私信秒删!一、引用 BeautifulSoup以及requests包from bs4 import BeautifulSoupimport requests二、 获取目录页面的章节名称及其地址headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.
2020-11-01 14:58:52 424 1
原创 Python爬虫 | 反爬机制:UA限制 (附User-Agent大全)
代码仅用于学习,切勿非法使用!示例网站:搜狗搜索引擎https://www.sogou.com/爬取搜索引擎首页代码:import requestsurl = 'https://www.sogou.com/'response = requests.get(url=url).textwith open('souguo.html','w',encoding='utf-8') as f: f.write(response)但是当你爬取搜索内容页面的时候~import requests
2020-11-01 14:21:52 3463
原创 python 统计列表当中元素出现的次数
写的次数太多了,收藏起来,下次直接复制。def list_frequency(lst): frequency_dict = {} for l in lst: if l in frequency_dict: frequency_dict[l] += 1 else: frequency_dict[l] = 1 return frequency_dict...
2020-10-28 14:48:37 472
原创 CentOS远程连接不上,解决方案
一、 确认网络连通性ping (IP)处理连通性问题:确认服务地址是否正确确认网络路由配置确认是否需要开启VPN (虚拟专用网络)可以实现认证审计可以对传输数据进行加密处理可以利用VPN隧道推送内网网段路由信息确认是否开启了禁ping功能,禁止ICMP协议二、 确认网络通讯是否有安全策略阻止telnet (IP)确认是否防火墙策略影响确认系统是否有访问控制策略影响三、 确认远程服务运行状态命令功能systemctl status networ
2020-10-21 17:57:01 3197
原创 快速排序算法详解(快排)
一、规则选基数(随机选择列表中的任意一个数,没有规律)大于基数的放在右边,小于基数的放在左边。基数 左/右 边重复上边两条规则比较前7273712394165指针LR下面我将一步一步演示如何排序随机选一个基数,这里我选择第一个72,定义两个指针,基数选了左侧,所以我们先从右侧指针开始比较。方法一:R 的数字大于基,L的数字小于基。否则就需要将数字交换到另一个指针下。方法二:数字交换一次后,L、R 比较也要跟着交换。方法三:交换
2020-10-19 20:33:06 1208
原创 力扣(LeetCode)个人主页draw()方法怎么画出好看图案? // 使用函数 draw 绘制图形,反斜杠 “\“ 请使用 “\\“ 转义
零、引言先赞后看,月薪过万!一、 力扣彩蛋力扣在这里默认配置了一个图形,点击之后还能看到一段代码。draw(" _ _ _ _ __ __ _ _ | | | | | | | \ \ / / | | | || |__| | ___| | | __\ \ /\ / /__ _ __| | __| || __ |/ _ \ | |/ _ \ \/ \/ / _ \| '__| |/
2020-10-15 19:58:18 5935 2
原创 只需三步,轻松在 ubuntu 安装 MySQL数据库!!!
如何在 ubuntu 安装 MySQL数据库?虚拟机如何安装mysql数据库?Linux中如何安装mysql数据库?虚拟机安装数据库
2020-06-23 16:27:32 624
ETH白皮书 | 以太坊白皮书中文版 | 0积分免费获取
2021-10-12
error: Microsoft Visual C++ 14.0 or greater is required. BUG解决包!
2020-11-24
Vue.js devtools-chrome插件-检测网站是否使用vue.js
2020-08-30
用户登录(python)
2020-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人