自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 Pandas模块之DataFrame:03-基本操作

本文主要介绍DataFrame结构数据的基本操作,包括以下几个方面:数据查看数据增删改数据对齐数据排序数据查看df = pd.DataFrame(np.random.randint(100,size = 16).reshape(8,2), columns = ['a','b'])print(df)================================= a b0 89 411 36 82 15 413 16 504 28

2021-02-23 00:29:26 344

原创 Pandas模块之DataFrame:02-索引与切片

Dataframe既有行索引也有列索引,可以被看做由Series组成的字典。df = pd.DataFrame(np.random.randint(100,size =12).reshape(3,4), index = ['one','two','three'], columns = ['a','b','c','d'])print(df)============================ a b

2021-02-22 19:16:01 1177 1

原创 Pandas模块之DataFrame:01-基本概念及创建

"二维数组"Dataframe:是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值、字符串、布尔值等。Dataframe中的数据以一个或多个二维块存放,不是列表、字典或一维数组结构。DataFrame带有index(行标签)和columns(列标签)示例:data = {'name':['Jack','Tom','Mary'], 'age':[18,19,20], 'gender':['m','m','w']}frame = pd.DataFrame(da

2021-02-22 16:13:29 368

原创 Pandas模块之Series:03-操作技巧

本文主要介绍Series结构数据的基本操作,包括以下几个方面:数据查看重新索引数据对齐数据增删改数据查看.head()方法和.tail()方法可以默认查看Series中的前、后5组数据,括号内也可以指定具体数据量。s = pd.Series(np.random.rand(50))print(s.head())print("-"*10)print(s.tail())=========================0 0.2207821 0.9839102 0

2021-02-20 23:45:20 159

原创 Pandas模块之Series:02-索引

Series结构的索引方式有以下四种:位置下标标签索引切片索引布尔型索引位置下标位置下标从0开始。输出结果为numpy的数据格式,可以通过python数据函数转换为python格式。s = pd.Series(np.random.randint(low = 1,high = 10,size =5))print(s)print((s[0]),type(s[0]))=======================================0 51 92 8

2021-02-20 18:09:51 1004

原创 Pandas模块之Series:01-基本创建

基本概念Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引。import numpy as npimport pandas as pds = pd.Series(np.random.randint(5,size = 5))print(s)print(type(s))================================0 11 12 43 14 4dtype: int32

2021-02-20 15:59:37 217 1

原创 Numpy模块:03-随机数

numpy.random包含多种概率分布的随机样本,是数据分析辅助的重点工具之一。高斯分布(一般指正态分布)np.random.normal(loc=0.0, scale=1.0, size=None)samples = np.random.normal(size=(4,4))samples2 = np.random.normal(size=(1,4))print(samples)print(samples2)=================[[ 0.35662443 1.6092649

2021-02-17 21:58:30 102

原创 Numpy模块:02-常用操作

数组变形:1.数组转置array .Tarr1 = np.array([[1,2],[3,4]])print(arr1)print('-'*10)print(arr1.T)==================[[1 2] [3 4]]----------[[1 3] [2 4]]2.数组变形array.reshape()arr2 = np.ones((5,2))print(arr2)arr3 = arr2.reshape((2,5))print(arr3)======

2021-02-17 21:41:41 79

原创 Numpy模块:01-数组生成操作

NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成:① 实际的数据② 描述这些数据的元数据利用指定元素创建数组创建一个一维数组import numpy as np# 创建一个一维数组arr1 = np.array([1,2,3])print("列表:",[1,2,3])print("数组:",arr1)print(type(arr1))===========================================列表: [1, 2, 3]数组: [1 2

2021-02-17 20:51:44 581 1

原创 selenium与系统鼠标动作的结合

前言众所周知,selenium模块可以用于操控浏览器,来实现网页的自动化访问。其功能涉及到了鼠标的移动和点击元素操作,该操作不会影响系统鼠标的移动。本文以百度页面为例,目标是将鼠标移动到指定元素的中间位置。需求模块:pynput:用于控制鼠标移动selenium:用于识别网页元素场景分析:经过测试可知,以pynput操作鼠标使用的坐标系是以桌面左上角为原点的坐标系。而以selenium操控的元素坐标系是以页面主体(图中黄色部分)左上角(基准点2)为原点的坐标系。所以要实现鼠标移动到元素中心

2021-02-02 00:04:55 334 3

原创 排坑:selenium模拟百度页面访问换页问题

页面分析:搜索框,搜索按钮的页面分析不说了,现在说下页码部分。可以看出,当前页和其他页的区别在于当前页是<strong>标签,没有超链接属性,其余页有,所以可以用css选择器通过’#page strong’.text方法获取当前页码。下一页:通过class为n的a标签确定故测试代码如下:# 基本包导入from selenium import webdriverfrom selenium.webdriver import ChromeOptionsfrom selenium.

2021-01-29 22:33:13 469

原创 python模拟鼠标控制思路探讨(二)

在上一篇博文中确定了用每次确定鼠标位移量的方法控制鼠标,解算难度较小。本文将随机数法改为加速度法,来控制每步移动距离。import pynputimport timeimport randomctr = pynput.mouse.Controller()window_size = (1920,1080) step = 10use_time = 3end = (1366,768)# 定义加速度法,返回每步位移量def get_distance_list(length,time,step

2021-01-27 19:33:48 669

原创 python模拟鼠标控制思路探讨(一)

前言近期学了用pynput模块来模拟鼠标操作,可知鼠标移动操作分为两种方式:设置鼠标坐标:mouse.position = (x,y)设置鼠标移动量:mouse.move(dx,dy)在现实的人为操作中,鼠标移动轨迹不可能是直接的两点直线式移动,而是一个随机事件和距离的过程量。本例做了一个简单的测试,将鼠标的移动分为了几个小部分,每份移动距离和停留时间随机。桌面坐标示意图:假设人为操作中的鼠标路径是一个不回头的路径(不考虑大幅度拐弯的情况),那么假设每次移动的坐标都会介于起始和结束点为对角

2021-01-27 17:57:59 3459 2

原创 RuntimeError: This event loop is already running”问题解决

简介按设计异步does not allow 其事件循环将被嵌套。这就提出了一个实际问题: 在事件循环为 已经在运行无法运行任务并等待 为了结果。试图这样做会导致错误 “RuntimeError: This event loop is already running”。这个问题会在不同的环境中出现,比如Web服务器, gui应用程序和jupyter笔记本。此模块修补asyncio以允许嵌套使用asyncio.run和 loop.run_until_complete。问题呈现# 测试代码import

2021-01-25 15:38:19 16940 8

原创 简单记录:selenium和pyppeteer获取页面全内容代码

以网页 http://www.haosimple.com/ 为例selenium方式from selenium import webdriverbrowser = webdriver.Chrome()browser.get('http://www.haosimple.com/')content = browser.page_sourceprint(len(content))browser.close()--------------------------------------------

2021-01-23 11:05:09 1517 1

原创 爬虫:解决pyppeteer初始化中的ssl错误

1. 引言曾经使用模拟浏览器操作(selenium + webdriver)来写爬虫,但是稍微有点反爬的网站都会对 selenium 和 webdriver 进行识别,网站只需要在前端 js 添加一下判断脚本,很容易就可以判断出是真人访问还是 webdriver 。虽然也可以通过中间代理的方式进行 js 注入屏蔽 webdriver 检测,但是 webdriver 对浏览器的模拟操作(输入、点击等等)都会留下 webdriver 的标记,同样会被识别出来,要绕过这种检测,只有重新编译 webdriver,

2021-01-22 15:41:55 667 1

转载 深入理解asyncio(三)

深入理解asyncio(三)前言这篇文章是《深入理解asyncio》的第三篇,主要包含回调和在asyncio中执行同步代码。成功回调可以给Task(Future)添加回调函数,等Task完成后就会自动调用这个(些)回调:async def a(): await asyncio.sleep(1) return 'A'In : loop = asyncio.get_event_loop()In : task = loop.create_task(a())In : def c

2021-01-21 20:11:20 326

转载 深入理解asyncio(二)

深入理解asyncio(二)Asyncio.gather vs asyncio.wait在上篇文章已经看到多次用asyncio.gather了,还有另外一个用法是asyncio.wait,他们都可以让多个协程并发执行。那为什么提供 2 个方法呢?他们有什么区别,适用场景是怎么样的呢?其实我之前也是有点困惑,直到我读了 asyncio 的源码。我们先看 2 个协程的例子:async def a(): print('Suspending a') await asyncio.sleep(3)

2021-01-21 18:41:34 383

转载 深入理解asyncio(一)

深入理解asyncio(一)前言这几天看asyncio相关的pycon视频又重温了asyncio 的官方文档,收获很多。之前asyncio被吐槽的一点就是文档写的不好,Python 3.7 时 asyncio 的官方文档被 Andrew Svetlov 以及 Yury Selivanov 等核心开发者重写了,新的版本我觉得已经好很多了。借着这篇笔记记录一下我对asyncio的一些理解。核心概念asyncio里面主要有4个需要关注的基本概念EventloopEventloop可以说是asyncio

2021-01-21 17:50:40 2248

转载 深入理解Python中的asyncio

深入理解Python中的asyncioasyncio介绍asyncio中的基本概念EventloopCoroutineFutureTaskasyncio中一些常见用法的区别Asyncio.gather和asyncio.waitasyncio.create_task和loop.create_task以及asyncio.ensure_future注册回调和执行同步代码执行同步代码asyncio介绍熟悉c#的同学可能知道,在c#中可以很方便的使用async和await来实现异步编程,那么在python中应该怎

2021-01-21 10:55:53 394

vb上机实习程序源文件----学生成绩管理

visual basic上机实习程序源文件----学生成绩管理

2011-01-13

vb上机实习报告---学生成绩管理

visual basic 上机实习报告---学生成绩管理

2011-01-13

大学物理实验绪论(数据处理)

大学物理实验绪论 介绍物理实验的相关事项已经数据处理方法

2010-11-21

空空如也

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

TA关注的人

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