【Python3 爬虫学习笔记】Pandas:强大的数据处理套件 2

Python 爬虫入门教程:从零构建你的第一个网络爬虫 网络爬虫是一种自动化程序,用于从网站抓取数据。Python 凭借其丰富的库和简单的语法,是构建网络爬虫的理想语言。本文将带你从零开始学习 Python 爬虫的基本知识,并实现一个简单的爬虫项目。通过本文,我们学习了使用 Python 构建基本爬虫的流程,并完成了一个抓取豆瓣电影 Top250 的项目。是一个用于数据处理和分析的库,适合将爬取的数据保存到 CSV 或 Excel。在实际应用中,记得遵守法律法规和网站的爬虫协议,合理使用网络爬虫技术!是一个强大的 HTTP 库,用于发送网络请求,获取网页内容。 阅读详情
DataFrame数据的修改及排序
DataFrame数据的修改

修改DataFrame数据的操作非常简单,只需要把上例中读取的数据项设定为指定值即可。例如,把陈聪明的数学成绩修改为91:

df.ix["陈聪明"]["数学"] = 91

或把陈聪明的所有成绩都改为80:

df.ix["陈聪明", :] = 80
DataFrame数据的排序

Pandas提供了两种DataFrame数据排序功能。
第1种排序功能是根据指定列标题下面的值进行排序,语法为:

数据变量 = df.sort_values(by=列表[, ascending=布尔值])
  • 列标题:设置需要以哪一列作为排序依据
  • 布尔值:可省略,True表示升序(默认值),False表示降序。
    例如,根据数学成绩做降序排序,并把结果存入df1中:
df1 = df.sort_values(by="数学", ascending=False)

在这里插入图片描述
第2中排序功能是根据行标题或列标题进行排序,语法为:

数据变量 = df.sort_index(axis=行列值[, ascending=布尔值])
  • 行列值:0表示根据行标题排序,1表示根据列标题排序。
    例如,按照行标题升序排序,并把结果存至df2中:
df2 = df.sort_index(axis=0)

在这里插入图片描述

删除DataFrame数据

Pandas可通过drop()方法删除DataFrame数据,语法为:

数据变量 = df.drop(行标题或列标题[, axis=行列值])
  • 行列值:0表示根据行标题排序(默认值),1表示根据列标题排序。
    例如,删除陈聪明(行标题)的成绩:
df1 = df.drop("陈聪明")    # axis参数可省略

执行结果:
在这里插入图片描述
删除数学(列标题)成绩:

df2 = df.drop("数学", axis = 1)

在这里插入图片描述
若删除的行或列超过1个,需使用列表作为参数,例如删除数学及自然成绩:

df3 = df.drop(["数学", "自然"], axis=1)

如果删除的列或行项目很多且连续,可使用删除“范围”的方式来处理。删除连续行的语法为:

数据变量 = df.drop(df.index[开始数值:结束数值][,axis=行列值]

执行结果会删除“开始数值”到“结束数值-1”行,例如删除第2行到第4行(陈聪明、黄美丽、熊小娟)的成绩:

df4 = df.drop(df.index[1:4])

在这里插入图片描述
删除连续列的语法为:

数据变量 = df.drop(df.columns[开始数值:结束数值][,axis=行列值]

例如,删除第2列到第4列(数学、英文、自然)成绩:

df5 = df.drop(df.columns[1:4], axis=1)

在这里插入图片描述

导入数据

有时候,手工生成Pandas的DataFrame数据是件非常麻烦的事情,所以我们通常会先把数据保存在Excel表格或数据库中,然后再把数据导入Pandas。我们还可以直接从网页中抓取表格数据并导入到Pandas中,作为DataFrame数据。
Pandas常用的导入数据方法有:

方法说明
read_csv导入表格型数据(*.csv)
read_excel导入Microsoft Excel型数据(*.xlsx)
read_sql导入SQLite数据库型数据(*.sqlite)
read_json导入Json型数据(*.json)
read_html导入网页中的表数据(*.html)

Pandas的read_html()方法会用到html5lib包,安装该包:

conda install html5lib

以中国历年GDP数据表为例:

import pandas as pd
tables = pd.read_html("http://value500.com/M2GDP.html")

其中,read_html()方法返回DataFrame列表,列表中的每一个元素是网页中的一个表格。有时候一个网页有多个表格,需要我们以手动方式在网页的源代码中通过"<table"搜索。

import pandas as pd
tables = pd.read_html("http://value500.com/M2GDP.html")
n = 1
for table in tables:
    print("第 " + str(n) + " 个表格:")
    print(table.head())
    print()
    n += 1
import pandas as pd
tables = pd.read_html("http://value500.com/M2GDP.html")
table = tables[18]
table = table.drop(table.index[[0,1]])
table.columns = ["年份", "M2指标", "GDP绝对额", "M2/GDP"]
table.index = range(len(table.index))
print(table)
python爬虫——pandas的简单使用 pandas作为爬虫中最重要的包之一,我们要想学好爬虫,就必须要深入了解pandas 直接上代码 阅读详情

相关推荐

Python网络爬虫与数据可视化实战教程

在当今的数据驱动时代,网络爬虫作为自动化获取网络信息的一种重要技术,在IT领域拥有广泛的应用。Python语言因其简洁易学、丰富的第三方库支持,成为开发网络爬虫的首选语言。本章将为读者介绍网络爬虫的基础概念、基本原理及其在Python中的实现方式。

weixin_42588672的博客 2014

python 数据清理时的常用函数

1 drop 删除表中的某一行或者某一列更明智的方法是使用drop,它不改变原有的df中的数据,而是可选择性的返回另一个dataframe来存放删除后的数据。 drop函数的使用: (1)删除行、列 print(frame.drop(['a'])) print(frame.drop(['b'], axis = 1))#drop函数默认删除行,列需要加axis = 1 (2)inplac...

妖白的奇幻漂流世界 2285

Python网络爬虫实战:从TaskCity网站项目信息抓取到Excel存储

本文还有配套的精品资源,点击获取 简介:本项目介绍了如何使用Python进行网络爬虫技术来抓取TaskCity网站上的项目信息,并存储到Excel文件中。课程内容涉及Python爬虫基础概念、请求库 requests 使用、HTML解析技术( BeautifulSoup 与 lxml )、数据提取与处理、异常处理与反爬策略,以及如何...

weixin_36369848的博客 1620

MySQL DELETE 语句

MySQL DELETE 语句 你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。 你可以在mysql>命令提示符或PHP脚本中执行该命令。 语法 以下是SQL DELETE 语句从MySQL数据表中删除数据的通用语法: DELETE FROM table_name [WHERE Clause] 如果没有指定 WHERE 子句

xjd0316的博客 461

Python网络爬虫实战:随书代码剖析

网络爬虫是一种自动化抓取互联网信息的脚本或程序,它是数据挖掘、信息检索、搜索引擎等领域不可或缺的工具。随着大数据时代的到来,网络爬虫已经成为IT行业不可或缺的一项技能,尤其对于数据分析师、数据科学家、搜索引擎优化工程师等职业来说,掌握网络爬虫技术尤为重要。

weixin_42509513的博客 1626

用Python3打造豆瓣电影TOP250爬虫

函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。通过函数可以将代码模块化,便于复用和维护。# 定义一个简单的函数print(greet("Alice")) # 输出: Hello, Alice!以上章节内容展示了Python3的一些核心基础概念,为后续网络爬虫的实现打下了基础。随着学习的深入,我们将逐渐探索如何利用Python3的强大功能来处理网络数据,实现自动化数据抓取和处理。网络爬虫,通常被称为网络蜘蛛(Spider)或网络机器人(Bot),是一种自动化浏览网络资源的程序。

weixin_28809949的博客 770

数据库中drop、truncate、delete三种删除的区别

一. SQL 中的语法 drop table 表名称 truncate table 表名称 delete from 表名称 where 列名称 = 值 二. drop,truncate,delete 的区别 1.drop (删除表) 删除表中的内容和定义的表的数据结构。 简单来说就是...

HU1656的博客 1万+

Python网络爬虫与数据可视化分析综合项目

Plotly是一个强大的JavaScript库,用于创建交互式图表,它可以在浏览器中生成交云动图表。Python中的Plotly库是这一功能的接口,它提供了易于使用的语法来创建复杂的图表。Dash是Plotly推出的用于构建交互式Web应用的框架。Dash应用可以通过Python编写,无需编写任何JavaScript代码。# 使用Plotly Express绘制散点图# 展示图形fig.show()在上述代码中,我们使用Plotly Express的scatter。

weixin_36369848的博客 1543

Python爬虫实战案例一:爬取猫眼电影

笔者上一篇文章《基于猫眼票房数据的可视化分析》中爬取了猫眼实时票房数据,用于展示近三年电影票房概况。由于数据中缺少导演/演员/编剧阵容等信息,所以爬取猫眼电影数据进行补充。关于爬虫的教学内容,网络上一搜就有很多了,这里我以个人的爬虫习惯,介绍此次过程中所用到的库和代码。

2201_75362610的博客 4507

RTAB-Map实战:用RGB-D相机5步搞定机器人自主建图(附避坑指南)

本文提供了一份详细的RTAB-Map实战指南,通过5个核心步骤,指导用户使用RGB-D相机(如Intel RealSense D435i)快速实现机器人自主建图。内容涵盖环境准备、传感器启动、核心参数配置、实战调优及地图后处理,并重点解析了算法关键参数与常见避坑方案,旨在帮助初学者高效搭建鲁棒的视觉SLAM系统。

g9h0i1的博客 788

安卓APP通过CH340实现USB串口通信与设备检测

本文详细介绍了安卓APP通过CH340芯片实现USB串口通信与设备检测的完整流程。从CH340芯片的基础原理到开发环境搭建,再到串口通信的具体实现和错误处理,提供了全面的技术指导。文章还分享了USB热插拔处理、自动重连策略以及性能优化等实战技巧,帮助开发者高效完成安卓与嵌入式设备的通信开发。

weixin_42531925的博客 377

Python网络爬虫

网络爬虫(Web Crawler)是一种按照一定规则自动访问互联网的程序,主要用来抓取网页信息。简单来说,它像一只蜘蛛,在互联网的“网页”中爬行,收集数据并存储。网络爬虫的应用范围非常广泛,包括搜索引擎索引、价格监控、市场研究、社交媒体数据分析等。Python网络爬虫是一种非常强大且灵活的工具,通过合理的使用,可以帮助我们获取大量有价值的数据。它在数据分析、市场研究等领域发挥着不可或缺的作用。无论是数据科学家、研究人员还是普通开发者,都可以利用Python网络爬虫,探索丰富的网络数据世界。

W楠的博客 3466

11-4 AEB 算法原理及系统组成

本专题旨在探讨如何利用仿真软件开发自动紧急制动系统AEB,主要通过整理开发流程,实现从需求到验证的全流程掌握,为后续开发提供支持;同时,研究了如何在汽车自动驾驶仿真工具中开发自己的算法,并解决了从ISO、E-CNAP、GB/T以及交通法规等提炼出功能需求的问题,以快速实现原型模型的开发。本专题重点讲解了AEB的工作原理、系统/软件架构和需求、算法模型及实现、CCRs/CCRb/CCRm建模与仿真、VRU-AEB-B/P/M建模与仿真,同时还提供了测试用例,期待将AEB算法成功地产品化。

AIgraphX 8547

Python爬虫之Pandas数据处理技术详解

什么是Pandas库?Pandas是一个开源的数据分析工具,基于NumPy构建而成,为数据处理提供了快速、强大、灵活的数据结构和数据分析工具。它常用于数据清洗、数据处理和数据分析等领域。Pandas库的主要功能和特点Pandas提供丰富的数据操作方法和函数,如数据读取、数据写入、数据清洗、数据处理、数据分析和数据可视化等。其主要数据结构包括Series(一维数据)和DataFrame(二维数据表),使数据处理更为灵活。

xzz_777c的博客 1304

数字电路实验避坑指南:如何正确搭建主从JK触发器测试电路(附Proteus仿真)

本文详细解析了主从JK触发器的工作原理及实验搭建指南,重点解决了常见的Catching Problem现象,并提供了Proteus仿真优化方案。通过元器件选型、电路连接步骤和常见错误排查,帮助读者正确搭建测试电路,确保数字电路实验的稳定性和可靠性。

weixin_30790841的博客 469

用 XCO 库一键找出某个 ABAP 类的全部子类

ABAP XCO库子类枚举技术解析 本文介绍了在ABAP项目中如何利用XCO库高效获取类的继承层次结构。传统方法使用CL_ABAP_CLASSDESCR或手动维护映射表存在效率低、易遗漏的问题。新方法通过XCO库的IF_XCO_AO_CLASS接口,可简洁地获取父类的所有子类(包括间接子类)。 核心API链式调用: 获取类句柄:xco_cp_abap=>class() 导航子类集合:subclasses->all 获取结果:get()返回类引用表或get_names()返回类名列表 典型应用场景

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 127

Python网络爬虫项目:从入门到精通

Python网络爬虫项目:从入门到精通 【下载地址】Python大作业-网络爬虫项目 本仓库提供了一个名为“Python大作业-网络爬虫项目.zip”的资源文件下载。该文件是Python课程的期末作业,主要内容是一个网络爬虫项目。通过这个项目,你可以学习到如何使用Python编写网络爬虫,从网页中提取数据,并进行相应的数...

gitblog_09818的博客 1423

从点云到舱口尺寸:船甲板舱口检测的算法实现

本文提出了一种从船甲板激光扫描点云中自动检测舱口尺寸的算法。通过数据预处理(降采样、去噪、平面分割)后,采用甲板投影轮廓法将3D点云转换为2D图像,利用双次闭运算解决扫描碎片化问题,通过轮廓树检测内轮廓识别舱口。算法最终能稳定检测出三个主要舱口的长宽尺寸、面积和位置信息,矩形度超过0.89。该方法克服了扫描稀疏和围壁结构复杂的问题,参数可调性强,适用于工程实践。关键创新点在于将舱口识别转化为图像中的"洞"检测,而非直接处理3D几何特征。

点云兔子的博客 146

Python爬虫总结——Scrapy+Gerapy部署网络爬虫

网络爬虫(也称为网页蜘蛛、Web 蜘蛛、网络机器人或网络蚂蜂)是一种自动按照特定规则在网络上搜索信息的软件程序。网络爬虫的主要目的是扫描网络,收集信息,并将其存储在数据库或其他存储系统中。网络爬虫可以用于多种目的,例如搜索引擎中收集网站内容以供搜索、监测网站的变化、网站访问统计、收集电子邮件地址等。本文通过jupyter notebook上进行基础单网页爬虫以及通过Scrapy+Gerapy实现多网页爬虫、定时抓取网页信息的案例演示。

Unkhmilu的博客 2263

SAP使用XCO框架创建RAP所有对象

通过XCO框架自动生成SAP ABAP开发对象。

DeveloperMrMeng的博客 544

华为OD面试八股文嵌入式C语言基础问题及答案(一)

本文总结了C语言编程中的10个关键知识点:1.宏定义MIN的实现方法;2.嵌入式无限循环的两种写法;3.变量a的8种不同定义方式;4.static关键字的三种作用;5.const关键字的含义和使用场景;6.volatile关键字的含义及三个应用实例;7.变量存储位置(栈区、静态区、堆区);8.32位系统指针位数;9.局部与全局变量重名规则;10.引用与指针的三点区别。这些内容涵盖了宏定义、变量声明、存储类别、指针等C语言核心概念,对嵌入式开发和系统编程具有重要参考价值。

m0_50382756的博客 159

利用Python进行网络爬虫和数据抓取

本文深入探讨了如何利用Python进行网络爬虫和数据抓取,并提供了丰富的代码实例和文章深度。我们首先介绍了网络爬虫的概念及其在数据获取中的重要性,然后详细介绍了两个主要的Python库,Beautiful Soup和Scrapy,用于实现网络爬虫。接着,我们讨论了数据抓取与处理的流程,使用Pandas和NumPy等库对抓取的数据进行清洗、转换和分析。随后,我们探讨了数据可视化与洞察的重要性,并展示了使用Matplotlib和Seaborn等库创建图表的示例。

一键难忘的博客 4040

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: 【Python3 爬虫学习笔记】Pandas:强大的数据处理套件 1
下一篇: 【Python3 爬虫学习笔记】人脸识别及验证码图片破解
htsait4113
博客等级 码龄9年 28粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值