Pandas:用于数据分析和数据科学的最热门 Python 库
创始人
2024-03-02 14:17:15
0

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() 方法:

df.drop_duplicates(‘’, keep = False)
df.drop_duplicates(‘’, keep = ‘first’)
df.drop_duplicates(‘’, keep = ‘last’)

使用 Pandas 进行数据分析

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

语法描述
df.head(x)head() 函数用于读取前面的 x 行,如果不填参数 x,默认返回 5 行
df.tail(x)tail() 函数用于读取尾部的 x 行,如果不填参数 x ,默认返回最后 5 行,空行各个字段的值返回 NaN
loc(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: https://www.opensourceforu.com/2022/08/pandas-the-popular-python-library-for-data-analysis-and-data-science/

作者:Phani Kiran 选题:lkxed 译者:chai001125 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

AI+Python数据分析...
教学大纲 01 课程性质和目的 数据分析与可视化为数据科学与大数据...
2026-05-06 20:23:25
什么是miniQMT,相比...
什么是miniQMT,相比大QMT有什么特点? 迅投 miniQM...
2026-01-22 09:51:16
Java、Python等开...
IT之家 9 月 24 日消息,开源安全基金会(OpenSSF)昨...
2025-09-24 14:25:34
python基础语法【迭代...
1.迭代器 1.什么是迭代器(iter)...
2025-06-01 20:30:55
手把手教你使用Flask框...
目录前言0、Flask框架的详细介绍一、Flask 框架封装接口1...
2025-06-01 17:11:00
【练习题】python函数...
写一个匿名函数,判断指定的年是否是闰年 (先直接用普...
2025-06-01 15:13:03

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...