- 博客(20)
- 收藏
- 关注
原创 MongoDB聚合查询
聚合操作主要用于处理数据并返回计算结果。聚合操作将来自多个文档的值组合在一起,按条件分组后,再进行一系列操作(如求和、平均值、最大值、最小值)以返回单个结果。MongoDB的聚合查询聚合是MongoDB的高级查询语言,它允许我们通过转化合并由多个文档的数据来生成新的在单个文档里不存在的文档信息。MongoDB中聚合(aggregate)主要用于处理数据(例如分组统计平均值、求和、最大值等),并返回计算后的数据结果,有点类似sql语句中的 count(*)、group by。
2022-11-06 22:20:16
1006
原创 数据分析9 -- 数据清洗:表格数据缺失值与异常值的处理
当我们从 CSV 文件或者其他数据源加载到 DataFrame 中时,往往会遇到某些单元格的数据是缺失的。当我们打印出 DataFrame 时,缺失的部分会显示为 NaN, 或者 None,或者 NaT(取决于单元格的数据类型),这样的值我们就称之为缺失值。假设阿普闪购举办了一次全员英语能力考试,每个员工最后都有听力、阅读、写作、口试四个成绩。这里我们抽样了三个同事的分数数据,打算对其做一些简单的分析。如下所示执行上述代码,接下来我们需要将分数数据导入到 DataFrame 中。
2022-09-26 09:21:30
2629
原创 数据分析8 -- 高级索引:过滤与查看表格中的局部数据
上一篇中,我们学习了 pandas 中两个核心的数据结构:Series 和 DataFrame,之后还学习了 DataFrame 的常见操作,比如对列、行的增删查改。但 DataFrame 的能力远不止于此,今天我们会围绕数据分析中各种各样的查询需求,来系统性介绍 DataFrame 强大的数据查询与过滤能力。
2022-09-24 23:26:22
262
原创 数据分析7 -- 以表格的形式查看和操作数据
在上一篇中,我们学习了如何使用 pandas 的函数来从多种数据源:csv、excel 和 html 网页读取数据。其中不管是哪一种数据读取的方式,最终返回的都是一个 DataFrame 对象。对于 DataFrame 对象,上一篇我们只是简单将其打印出来,这一篇我们来学习围绕 DataFrame 的基本操作(添加行、列,删除行、列,排序等),除了 DataFrame,我们也会学习另外一个重要的 pandas 数据结构: Series。
2022-09-23 21:24:45
421
原创 数据分析6 -- 使用pandas对多种文件类型进行处理
在有了数据集之后,接下来我们就开始学习怎么把数据集的内容加载到 Python 中。虽然我们在上一个模块学过简单的读取 csv 的文件内容。但是存在两个问题:只能读取 csv 文件,但数据分析的数据除了可能来自 csv,也可能来自 Excel,甚至可以来自 html 的表格。读取到的结果一般是字典列表,并不利于分析,比如虽然我们每个字典就代表一行记录,但一旦我们想拿某一列的数据的时候就会非常复杂。Python 作为数据分析领域的头号种子选手,自然不会只有 csv 模块这样的初级工具。
2022-09-23 11:35:59
1096
原创 数据分析4 -- 将爬取的数据保存成CSV格式
CSV(Comma-Separated Values) 是一种使用逗号分隔来实现存储表格数据的文本文件。我们都知道表格有多种形式的存储,比如 Excel 的格式或者数据库的格式。CSV 文件也可以存储表格数据,并且能够被多种软件兼容,比如 Excel 就能直接打开 CSV 文件的表格,很多数据库软件也支持导入 CSV 文件。除了兼容性好之外,CSV 格式还是所有能存储表格的格式中最简单的一种。下面,我们以一个例子来讲解 CSV 存储表格的原理。假设有如下员工信息的表格。
2022-09-22 17:52:01
9521
1
原创 数据分析3 -- 从网页中提取数据内容
从打印的内容来看,想必你已经猜到了,doc 对象的 title 属性,就对应了网页的 title 标签。目前,我们已经实现了从第一个标签对象中提取新闻标题,但我们的列表中有 4 个标签对象。通过观察截图中的标签内容,很容易发现似乎每个新闻标题,都有一个对应的 div 标签,并且它的 class 是 indexs。那要怎么过滤出第二行的 a 标签呢?执行上述代码之后,BeautifulSoup 对象就被创建并存在变量 doc 中,为了测试是否创建成功,我们打印了 doc 对象的 title 属性,输出如下。
2022-09-22 16:33:03
1494
原创 Python实现windows下自动更新Chrome WebDriver
【代码】Python实现windows下自动更新Chrome WebDriver。
2022-09-22 10:23:52
734
原创 数据分析2 -- 模拟请求下载真实网页
上一篇介绍了爬虫的原理以及要实现爬虫的三个主要步骤:下载网页-分析网页-保存数据。本篇从第一步开始实操如何使用 Python 下载网页。
2022-09-21 20:02:31
209
原创 数据分析--为什么是Python
以往的数据分析,当数据源发生变化后,往往需要分析师手动读取最新数据,然后用相应工具对新的数据重复之前的分析过程,再将最新的分析数据替换进数据分析报告中。而对于 Python 来说,整个数据分析的过程,包括取数、清洗、标准化、分析、建模以及报告的生成,模型的交付都是通过 Python 代码实现。很多数据分析从业者选用 Python 做数据分析的一个关键点,就是 Python 语言具备一套技术栈就能搞定整个数据闭环的巨大潜力。数据分析行业的前辈们就是看到了这一点,将 Python 作为了数据分析的主力工具。
2022-09-21 16:48:52
552
原创 Protobuf 概念初识与使用
Protobuf(protocol buffer) 是谷歌内部的混合语言数据标准。通过将结构化的数据进行序列化(串行化),用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。
2022-09-21 11:34:59
298
原创 Python内置函数getattr()的介绍及实例
getattr() 函数用于根据属性名称返回一个对象属性值。其实getattr()这个方法最主要的作用是实现反射机制。也就是说可以通过获取方法实例。这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载。返回对象属性值。例如以下代码中,如果"name"是对对象属性的名称,则返回对应属性的值。第一个函数tryattribute0()非常好理解,就如同定义里说的一样。第二个函数tryattribute1()就有一点费解了。
2022-09-20 17:10:53
2857
原创 Python中动态导入对象importlib.import_module()的使用
背景:一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。
2022-09-20 16:26:24
307
原创 Python中logging模块的使用
程序开发过程中,很多程序都有记录日志的需求,并且日志包含的信息有正常的程序访问日志还可能有错误、警告等信息输出,Python 的 logging 模块提供了标准的日志接口,可以通过它存储各种格式的日志,日志记录提供了一组便利功能,用于简单的日志记录用法。当指定一个日志级别之后,会记录大于或等于这个日志级别的日志信息,小于的将会被丢弃, 默认情况下日志打印只显示大于等于 WARNING 级别的日志。通过 logging.basicConfig() 可以设置 root 的日志级别,和日志输出格式。
2022-09-20 11:49:53
579
1
原创 Python中shuil模块的使用
shutil可以简单地理解为sh + util,shell工具的意思。shutil模块是对os模块的补充,主要针对文件的拷贝、删除、移动、压缩和解压操作。
2022-09-19 15:08:36
1073
原创 Mac下sed命令报错:sed: 1: command a expects \ followed by text
在linux(centos等)环境中,执行sed -i 's/string1/string2/' file,执行成功,但是在Mac中执行报错。原因是Mac中用 i 命令进行替换时,强制要求备份 sed -i '一个路径' 's/string1/string2/' file。如果不想备份,可以直接使用 sed -i '' 's/string1/string2/' file,路径使用''单引号代替即可。
2022-09-16 14:18:18
1225
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人