可以这么说吧,离了 Pandas,我基本就没法做数据分析了。
Pandas不是熊猫,是Python 数据分析的主力库。它为Python扩展了非常非常易于使用的数据结构和工具。
无论是结构化的表格数据、时间序列和更加复杂的数据结构,Pandas 都能轻松 hold 住。
为何 Pandas 表现如此优秀,先卖个关子。
回忆一下,一个初级的入门分析师,使用 excel 做数据处理,需要哪些步骤?
(先略过需求分析、分析思路组织和分析框架搭建部分。这又是一个单独的课题。以后再详细聊。)
我把具体步骤列在下面了。
上面提及到的所有处理任务,Pandas 都能完美完成。因为这个涉及到完整的数据处理过程,完完整整讲清楚明白,差不多需要一本书的篇幅。
所以,这次 Pandas 的系列文章,我打算分具体的步骤,把每一篇讲清楚、讲透来。
这篇主要做深入学习之前的准备工作和基础概念导入。
小伙伴们,准备好了么?咱们开车。
01
准备工作
搭建 Python 运行环境,安装 Pandas 。
推荐安装Anaconda,配置Jupyter Notebook环境。具体的软件包下载安装和 Jupyter Notebook 指引参照这篇文章。
Python小白的安装指南Anaconda+Jupyter Notebook
Ancaconda 已经提前集成了 Pandas 库和相关的依赖包。完成以后,只需要一步,就可以完成 Pandas 库导入和使用。
import pandas as pd
02
Pandas 基础知识-数据结构
Pandas库提供了两种基础的数据格式:DataFrame和Series,它们是进行数据分析时最常用的数据结构。
干讲比较抽象。接下来,我会把图示和代码放在一起看,方便理解。
1 、先说Series
Series是一个一维数组结构,可以包含任何数据类型(整数、字符串、浮点数、Python对象等)。
每个元素都有一个索引标签,这使得Series对象非常适合处理具有明确标签的数据。
划重点,Series 是一个一维数组结构。
Series 的元素可以包含任何数据类型(整数、字符串、浮点数、Python 对象等),并且每个元素都有一个索引标签。
下面做了一个图示(一个学生的各科成绩),方便理解。左边是 index,右边的是 data 。
所以,如果需要找各学科的成绩,就非常方便和简单。只要告诉 index值,就可以快速查找。
创建代码如下:
s = pd.Series([85, 92, 88, 78, 90], index=['Chinese', 'Math', 'English', 'Geography', 'Chemistry'])
print(s)
2 、 再看看 DataFrame
DataFrame是一个二维表格型数据结构,类似于Excel中的表格或者SQL数据库中的表。
它是Pandas中使用最频繁的数据结构,可以将其想象为一个Series的字典(每个键是一个列名,每个值是一个Series对象)。
特点如下:
- 可以包含多种数据类型。
- 每个轴都有标签(行标签称为索引,列标签称为列名)。
- 可以进行复杂的数据操作,包括数据筛选、排序、分组、合并等。
同样的,我们用最常见的 excel 数据表来作类比。这张亲切的表,唯一需要特别注意的是 index 。
创建代码如下,小伙伴可以拷贝后黏贴到 JupyterNotebook 运行。
data = {
'学科名称': ['语文', '数学', '英语', '地理', '化学'],
'平均分': [78, 85, 82, 79, 86],
'参与考试人数': [120, 130, 125, 110, 100],
'考试时间': ['2024-06-01', '2024-06-02', '2024-06-03', '2024-06-04', '2024-06-05']
}
df = pd.DataFrame(data)
print(df)
03
Series 和 DataFrame 的基础操作
- 打印DataFrame,直接打印DataFrame对象会显示其内容,包括列名和若干行数据(默认显示前5行)。
head() 方法,使用head()方法可以查看DataFrame的前几行,默认是前5行。
tail() 方法,使用tail()方法可以查看DataFrame的最后几行,默认是最后5行。
info() 方法,使用info()方法可以查看DataFrame的概要信息,包括列的数据类型、非空值的数量等。
describe() 方法,使用describe()方法可以查看数值列的统计摘要,包括计数、平均值、标准差、最小值、四分位数和最大值。
shape 属性,查看DataFrame的形状,即行数和列数。
columns 属性,查看DataFrame的列名。
dtypes 属性,查看DataFrame中各列的数据类型。
好的,简单小结一下,今天给大家介绍了 Pandas 用于数据分析的优势以及基础的 Pandas 数据结构。后续,会有其他的专栏文章,对 Pandas的数据清洗、转换、分组、聚合等复杂操作进行专项讲解。
感兴趣的小伙伴,欢迎关注、点赞、评论转发。您的每一份互动,都是我肝下去的动力。