数据专家最常使用的 10 大类 Pandas 函数 ⛵

简介: Pandas 是数据科学领域最受欢迎的 Python 工具库之一,函数与功能极其丰富。本文将数据科学家常用的二三十个功能函数总结为10类,熟练掌握就能轻松解决80%以上的数据处理问题!

💡 作者: 韩信子@ ShowMeAI
📘 数据分析实战系列http://www.showmeai.tech/tutorials/40
📘 本文地址http://www.showmeai.tech/article-detail/304
📢 声明:版权所有,转载请联系平台与作者并注明出处
📢 收藏 ShowMeAI查看更多精彩内容

Python具有极其活跃的社区和覆盖全领域的第三方库工具库,近年来一直位居编程语言热度头部位置,而数据科学领域最受欢迎的python工具库之一是 Pandas。随着这么多年来的社区高速发展和海量的开源贡献者,使得 pandas 几乎可以胜任任何数据处理工作。

Pandas的功能与函数极其丰富,要完全记住和掌握是不现实的(也没有必要),资深数据分析师和数据科学家最常使用的大概有二三十个函数。在本篇内容中,ShowMeAI 把这些功能函数总结为10类。熟练掌握它们,你就可以轻松解决80% 以上的数据处理问题。

也推荐大家阅读ShowMeAI针对数据分析编写的教程和速查表,快速成为数据洞察高手!

💡 1.读取数据

我们经常要从外部源读取数据,基于不同的源数据格式,我们可以使用对应的 read_*功能:

  • read_csv:我们读取CSV格式数据时使用它。这个函数的使用注意点包括 header(是否有表头以及哪一行是表头), sep(分隔符),和 usecols(要使用的列/字段的子集)。
  • read_excel:读取Excel格式文件时使用它。这个函数的使用注意点包括 sheet_name(哪个表)和标题。
  • read_pickle:读取pickle格式存储的文件时使用,这个格式的优势是比 CSV 和 Excel快很多。
  • read_sas: 我经常使用这个功能,因为我曾经使用 SAS 来处理数据。

💡 2.写入数据

处理完数据后,我们可能会把处理后的DataFrame保存下来,最常用的文件写入函数如下:

  • to_csv: 写入 CSV 文件。 注意:它不保留某些数据类型(例如日期)。 很多情况下我们会将参数索引设置为False,这样就不用额外的列来显示数据文件中的索引。
  • to_excel: 写入 Excel 文件。
  • to_pickle:写入pickle文件。这是建议的写入格式,读写的速度都非常快。

💡 3.数据概览

将数据成 DataFrame 格式后,我们最好对数据有一个初步的了解,以下是最常用到的几个数据概览函数,能提供数据的基本信息。

  • head:返回前几行,通常用于检查数据是否正确读取,以及了解数据字段和形态等基本信息。
  • tail:检查最后几行。在处理大文件时,读取可能不完整,可以通过它检查是否完整读取数据。
  • info:数据集的总体摘要:包括列的数据类型和内存使用情况等信息。
  • describe:提供数据集的描述性摘要(比如连续值的统计信息、类别型字段的频次信息等)。
  • shape: 行数和列数(注意,这是Dataframe的属性,而非函数)。

💡 4.数据排序

我们经常需要对数据进行排序,Dataframe有一个重要的排序函数。

  • sort_values:通过指定列名对数据进行排序,可以调整升序或者降序规则。

💡 5.处理重复

我们手上的数据集很可能存在重复记录,某些数据意外两次输入到数据源中,清洗数据时删除重复项很重要。 以下函数很常用:

  • duplicated: 识别DataFrame中是否有重复,可以指定使用哪些列来标识重复项。
  • drop_duplicates:从 DataFrame 中删除重复项。一般建议大家先使用 duplicated检查重复项,确定业务上需要删除重复项,再使用这个函数。

💡 6.处理缺失值

现实数据集中基本都会存在缺失值的情况,下面这些函数常被用作检查和处理缺失值。

  • isnull:检查您的 DataFrame 是否缺失。
  • dropna: 对数据做删除处理。注意它有很重要的参数how(如何确定观察是否被丢弃)和 thred(int类型,保留缺失值的数量)。
  • fillna: 用指定的方法填充缺失值,例如向前填充 ( ffill)。

💡 7.数据处理

一个字段可能包含很多信息,我们可以使用以下函数对字段进行数据处理和信息抽取:

  • map:通常使用map对字段进行映射操作(基于一些操作函数),如 df[“sub_id”] = df[“temp_id”].map(lambda x: int(x[-4:])).
  • apply:通过多列的数据创建新的字段,在创建新列时经常需要指定 axis=1

💡 8.数据透视

Dataframe有 2 种常见数据:

  • 『宽』格式,指的是每一行代表一条记录(样本),每一列是一个观测维度(特征)。
  • 『长』格式,在这种格式中,一个主题有多行,每一行可以代表某个时间点的度量。

我们会在这两种格式之间转换。

  • melt:将宽表转换为长表。 注意:重要参数id_vars(对于标识符)和 value_vars(其值对值列有贡献的列的列表)。
  • pivot:将长表转换为宽表。注意:重要参数index(唯一标识符), columns(列成为值列),和 values(具有值的列)。

💡 9.合并数据集

我们对多个数据集Dataframe合并的时候,可能用到下列的函数(包括表关联和拼接)。

  • merge:基于某些字段进行表关联。重要的参数包括 on(连接字段),how(例如内连接或左连接,或外连接),以及 suffixes(相同字段合并后的后缀)。
  • concat:沿行或列拼接DataFrame对象。当我们有多个相同形状/存储相同信息的 DataFrame 对象时,它很有用。

💡 10.分组统计

我们经常会需要对数据集进行分组统计操作,常用的函数包括:

  • groupby:创建一个 GroupBy 分组对象,可以基于一列或多列进行分组。
  • mean:您可以在 GroupBy 分组对象上调用 mean 来计算均值。其他的常用统计信息包括标准差std
  • size: 分组的频率
  • agg:聚合函数。包括常用的统计方法,也可以自己定义。

参考资料

目录
相关文章
|
1月前
|
存储 数据挖掘 数据处理
Pandas中explode()函数的应用与实战
Pandas中explode()函数的应用与实战
28 0
|
1月前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
55 0
|
1月前
|
存储 JSON 数据处理
从JSON数据到Pandas DataFrame:如何解析出所需字段
从JSON数据到Pandas DataFrame:如何解析出所需字段
57 1
|
1月前
|
数据处理 索引 Python
使用pandas的merge()和join()函数进行数据处理
使用pandas的merge()和join()函数进行数据处理
43 2
|
19天前
|
存储 数据采集 JSON
Pandas数据读取三连“坑”
大家小时候有没有用玩儿过一种飞行棋,两个人玩儿,摇骰子摇到几然后就相应的往前走几步,看谁先到终点谁就胜利了。在玩儿的途中,地图上有很多奖励或者陷阱,有的时候运气不好,连中好几个陷阱不但没有前进反而还后退了。 这不最近再看Pandas数据读取的知识时候,我就踩了好几个小坑,幸亏把学习文档上的提供的demo进行了验证,不然在以后项目应用的时候再遇到了岂不是挺尴尬了。
|
1月前
|
数据采集 监控 数据可视化
Pandas平滑法时序数据
【5月更文挑战第17天】本文介绍了使用Python的Pandas库实现指数平滑法进行时间序列预测分析。指数平滑法是一种加权移动平均预测方法,通过历史数据的加权平均值预测未来趋势。文章首先阐述了指数平滑法的基本原理,包括简单指数平滑的计算公式。接着,展示了如何用Pandas读取时间序列数据并实现指数平滑,提供了示例代码。此外,文中还讨论了指数平滑法在实际项目中的应用,如销售预测和库存管理,并提到了在`statsmodels`库中使用`SimpleExpSmoothing`函数进行模型拟合和预测。最后,文章强调了模型调优、异常值处理、季节性调整以及部署和监控的重要性,旨在帮助读者理解和应用这一方法
29 2
 Pandas平滑法时序数据
|
1月前
|
机器学习/深度学习 存储 算法
Pandas中的get_dummies()函数实战应用详解
Pandas中的get_dummies()函数实战应用详解
29 1
|
1月前
|
数据挖掘 数据处理 索引
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
30 1
|
1月前
|
NoSQL Serverless Python
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。
【5月更文挑战第2天】在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。方法一是直接赋值,如`df['C'] = 0`,创建新列C并初始化为0。方法二是应用函数,例如定义`add_column`函数计算A列和B列之和,然后使用`df.apply(add_column, axis=1)`,使C列存储每行A、B列的和。
75 0
|
1月前
|
人工智能 数据挖掘 Python
Python pandas中read_csv函数的io参数
Python pandas中read_csv函数的io参数
32 5