一、自动化文件管理
1.在目录中对文件进行排序
|
|
这个Python脚本通过根据文件扩展名将文件分类到子目录中来整理目录中的文件。
单链表是一种链式的数据结构,链表中的数据用结点表示,保持了数据之间的逻辑关系,但存储空间不一定是按照顺序存储。
链表的基本元素有:
- 节点:包括数据域和指针域,数据域存放数据,指针域存放指向下一个元素的指针
- head:头结点
- tail:尾结点
- None:链表最后一个结点的指针域为None
Python中没有显式的指针,但是有引用啊,所以我们可以通过定义节点类和引用来实现链表!
栈是一种数据结构,只能从一端插入和删除操作,遵循着先进后出原则存储数据。
3.1 栈的初始化
|
|
3.2 元素进栈
|
|
3.3 元素出栈
|
|
这里可以直接调用pop函数,使用如下:
以下操作均在 Windows 环境下进行操作,先说明一下哈
一、安装 Python
1、官网下载 Python
进入官网(https://www.python.org),点击 Downloads,选择要下载的版本:
2、安装 Python
安装时注意下图勾选部分一定要勾选:
二、安装代码编辑器 PyCharm
1、官网下载 PyCharm
一、下载安装 Anaconda
1、下载地址:Anaconda
推荐下载 python3 版本, 毕竟未来 python2 是要停止维护的。
2、安装 Anaconda
按照安装程序提示一步步安装就好了, 安装完成之后会多几个应用:
- Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。
- Jupyter notebook :基于 web 的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
- qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。
- spyder :一个使用 Python 语言、跨平台的、科学运算集成开发环境。
二、配置环境变量
如果是 windows 的话需要去 控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH
中添加 anaconda 的安装目录的 Scripts 文件夹,比如我的路径是D:\developer_tools\python3\Anaconda3\Scripts
,看个人安装路径不同需要自己调整。
前言
在我们的日常学习中,能够编写和运行 Python 文件的程序很多,比如 Python 安装自带的 IDE、程序员喜爱的Pycharm、数据科学全家桶 Anaconda,还有 Spyder、Thonny 等。就我个人使用而言,如果进行大型项目推荐使用 Pycharm,如果进行数据处理和分析,最好选用 Jupyter notebook。可以说,Jupyter notebook 是用Python 进行数据科学、机器学习的必备工具。
设置 Python 路径(解释器设置)
1、打开设置对话框
点击File –> settings,弹出设置对话框
2、设置 Python 路径(解释器设置)
点击 Project –> Project Interpreter,在右侧 Project Interpreter 下拉,选择 python 路径(若没有,选择 show all),实现 pycharm的 python 路径设置。
1.1 本书的内容
Python 数据分析这本书讲的是利用 Python 进行数据控制、处理、整理、分析等方面的具体细节和基本要点。作者介绍 Python 编程和用于数据处理的库和工具环境
,掌握这些,可以让你成为一个数据分析专家。虽然本书的标题是“数据分析”,重点却是 Python 编程、库,以及用于数据分析的工具。这就是数据分析要用到的 Python 编程。
🐹 本章讨论Python的内置功能,这些功能本书会用到很多。虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的。
信息可视化
(也叫绘图)是数据分析中最重要的工作之一。它可能是探索过程的一部分,例如,帮助我们找出异常值、必要的数据转换、得出有关模型的idea等。另外,做一个可交互的数据可视化也许是工作的最终目标。我们现在使用的库,有 pandas、scikit-learn 和 statsmodels,2017年,数据科学、数据分析和机器学习的资源已经很多,原来通用的科学计算拓展到了计算机科学家、物理学家和其它研究领域的工作人员。学习 Python 和成为软件工程师的优秀书籍也有了。
数据清洗
和分析
工作变得更快更简单的数据结构和操作工具。pandas经常和其它工具一同使用,如数值计算工具NumPy和SciPy,分析库statsmodels和scikit-learn,和数据可视化库matplotlib。pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理。在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析。本章关注可以聚合、合并、重塑数据的方法。
首先,我会介绍pandas的层次化索引,它广泛用于以上操作。然后,我深入介绍了一些特殊的数据操作。在第14章,你可以看到这些工具的多种应用。
访问数据是使用本书所介绍的这些工具的第一步。我会着重介绍pandas的数据输入与输出,虽然别的库中也有不少以此为目的的工具。
输入输出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用Web API操作网络资源。
固定频率
的,也就是说,数据点是根据某种规律定期出现的(比如每15秒、每5分钟、每月出现一次)。时间序列也可以是不定期的,没有固定的时间单位或单位之间的偏移量。时间序列数据的意义取决于具体的应用场景,主要有以下几种:本书中,我已经介绍了Python数据分析的编程基础。因为数据分析师和科学家总是在数据规整和准备上花费大量时间,这本书的重点在于掌握这些功能。
开发模型选用什么库取决于应用本身。许多统计问题可以用简单方法解决,比如普通的最小二乘回归,其它问题可能需要复杂的机器学习方法。幸运的是,Python已经成为了运用这些分析方法的语言之一,因此读完此书,你可以探索许多工具。
聚合
还是转换
),通常是数据分析工作中的重要环节。在将数据集加载、融合、准备好之后,通常就是计算分组统计
或生成透视表
。pandas提供了一个灵活高效的groupby
功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。大多数提供科学计算的包都是用NumPy的数组作为构建基础。
NumPy的部分功能如下:
在这篇附录中,我会深入NumPy库的数组计算。这会包括ndarray更内部的细节,和更高级的数组操作和算法。
本章包括了一些杂乱的章节,不需要仔细研究。
A.1 ndarray对象的内部机理
NumPy的ndarray提供了一种将同质数据块(可以是连续或跨越)解释为多维数组对象的方式。正如你之前所看到的那样,数据类型(dtype)决定了数据的解释方式,比如浮点数、整数、布尔值等。
1.分组聚合函数(groupby)
类似SQL的groupby那样的数据透视功能。可以使用pandas库的groupby函数来实现分组聚合操作。
举例:
有一个A表,分别有甲项目和乙项目,甲项目连续两年的销售为50万元和54万元,乙项目连续两年的销售额为74万元和56万元。
1.分组聚合函数(groupby)
类似SQL的groupby那样的数据透视功能。可以使用pandas库的groupby函数来实现分组聚合操作。
举例:
有一个A表,分别有甲项目和乙项目,甲项目连续两年的销售为50万元和54万元,乙项目连续两年的销售额为74万元和56万元。
前言
你有想过在 pandas 中直接使用 sql吗?我知道许多小伙伴已经知道一些库也可以做到这种体验,不过他们的性能太差劲了(基于sqlite,或其他服务端数据库)。
今天我要介绍另一个专用于数据分析的列式数据库,性能是其他同体验的库的1000倍以上。可以无缝接入 pandas ,做到了性能与使用体验同时提升。
SQLite3:轻巧便捷的数据库连接
首先,让我们认识一下 SQLite3 这个轻巧便捷的库。它是 Python 中自带的数据库模块,适用于小型应用和快速原型开发。
让我们来看看 SQLite3 的魔法:
|
|
运行上述代码,你将看到插入的数据和查询结果输出在终端上,SQLite3 让数据库连接变得如此简单!