打开网易新闻 查看精彩图片

导读:Pandas 是一个十分流行的 Python 第三方库。本文介绍了 Pandas 库中的一些特性和函数,并且我们鼓励读者亲手使用 Pandas 库,来解决实际的业务问题。

本文字数:3105,阅读时长大约: 4分钟

Pandas 是一个十分流行的 Python 第三方库。本文介绍了 Pandas 库中的一些特性和函数,并且我们鼓励读者亲手使用 Pandas 库,来解决实际的业务问题。

Pandas 为 Python 中数据分析提供了基础和高级的构建组件。Pandas 库是用于数据分析与数据操作的最强大和最灵活的开源分析工具之一,并且它还提供了用于建模和操作表格数据(以行和列组织的数据)的数据结构。

Pandas 库有两个主要的数据结构:第一个是 “系列(Series)”,该数据结构能够很方便地从 Python 数组或字典中按位置或指定的索引名称来检索数据;第二个是“数据帧(DataFrames)”,该数据结构将数据存储在行和列中。列可以通过列名访问,行通过索引访问。列可以有不同类型的数据,包括列表、字典、序列、数据帧、NumPy 数组等。

Pandas 库可以处理各种文件格式

有各种各样的文件格式。用于数据分析的工具必须能够提供处理各种文件格式的方法。

Pandas 可以读取各种文件格式,例如 CSV 文件、JSON 文件、XML 文件、Parquet 文件、SQL 文件,详见下表。

< 如显示不全,请左右滑动 >

写入 读取 CSV 文件to_csv函数read_csv函数 JSON 文件to_json函数read_json函数 Parquet 文件to_parquet函数read_parquet函数 SQL 文件to_sql函数read_sql函数,read_sql_query函数,read_sql_table函数 XML 文件to_xml函数read_xml函数

使用 Pandas 进行数据清理

在现实场景中,很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况,如果要对使数据分析更加准确,就需要对这些没有用的数据进行处理。此外,数据还会有需要 屏蔽(mask) 的敏感和机密信息。接下来,Pandas 提供了清理、丢弃、替换、屏蔽等方法,来处理这些坏数据。

Pandas 清洗空值:

a. 空行可以使用df.dropna(inplace=True)方法来删除。

b. 空值可以使用df.fillna(, inplace=True)方法来替换。还可以指定某一个列来替换该列的空数据。

Pandas 屏蔽数据:

c. 要屏蔽所有不满足条件my_list.where(my_list < 5)的敏感数据的值,可以使用my_list.mask(my_list < 5)

Pandas 清洗重复数据:

d. 要删除重复数据,可以使用drop_duplicates()方法:

  1. df.drop_duplicates(‘’, keep = False)

  2. df.drop_duplicates(‘’, keep = ‘first’)

  3. df.drop_duplicates(‘’, keep = ‘last’)

使用 Pandas 进行数据分析

下面的表格列出了 Pandas 中进行数据分析的各种函数,以及其语法。(请注意:df代表一个 数据帧(DataFrame) 数据结构的实例。)

< 如显示不全,请左右滑动 >

语法 描述df.head(x)head()函数用于读取前面的 x 行,如果不填参数 x,默认返回 5 行df.tail(x)tail()函数用于读取尾部的 x 行,如果不填参数 x ,默认返回最后 5 行,空行各个字段的值返回 NaNloc(x:y)Loc 函数返回指定行的数据,也可以对数据进行切片groupby('')对指定列的数据进行分组df['column'].sum()计算指定列数据的总和df['column']. mean()计算指定列数据的算术平均值df['column'].min()计算指定列数据的最小值df['column'].max()计算指定列数据的最大值df.sort_values(['column'])在指定列上根据数值进行排序,默认升序df.size返回元素的个数,即为行数 * 列数df.describe返回对各列的统计汇总pd.crosstab(df['column1'], df['column2'], margins = True)创建column1column2的交叉表df.duplicated([column1, 'column2'])根据column1column2中的重复值,返回TrueFalse

Pandas 的优点

◈ 支持多索引(层次索引),方便分析多维数据。

◈ 支持数据透视表的创建,堆栈和取消堆栈操作。

◈ 可以使用 Pandas 处理有限值的分类数据。

◈ 支持分组和聚合运算。

◈ 可以禁用排序。

◈ 支持行级过滤(获取满足过滤条件的行)和列级过滤(只选择需要的列)。

◈ 有助于重塑数据集(数组的维度变换)。还可以转置数组的值,并转换为列表。当你使用 Python 处理数据时,可以将 Pandas 数据帧转换为多维 NumPy 数组。

◈ 支持面向标签的数据切片。

Pandas 的不足

Pandas 的代码和语法与 Python 不同,所以人们需要额外再学习 Pandas。此外,相较于 Pandas,像三维数据这样的高维数据会在 NumPy 等其他库有更好的处理。

总结

Pandas 能够大幅提升数据分析的效率。它与其他库的兼容性使它在其他 Python 库中都能有效地使用。

via:

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

LCTT 译者 :chai001125

翻译: 25.0 篇

贡献: 112 天

2022-10-06

2023-01-26

https://linux.cn/lctt/chai001125

欢迎遵照 CC-BY-SA 协议规定转载,

如需转载,请在文章下留言 “ 转载:公众号名称”,

我们将为您添加白名单,授权“ 转载文章时可以修改”。