数据专家最常使用的 10 大类 Pandas 函数 ⛵
highlight: a11y-dark
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详情
- 💡 作者:韩信子@ShowMeAI
- 📘 数据分析实战系列:http://www.showmeai.tech/tutorials/40
- 📘 本文地址:http://www.showmeai.tech/article-detail/304
- 📢 声明:版权所有,转载请联系平台与作者并注明出处
- 📢 收藏ShowMeAI查看更多精彩内容
Python具有极其活跃的社区和覆盖全领域的第三方库工具库,近年来一直位居编程语言热度头部位置,而数据科学领域最受欢迎的python工具库之一是 Pandas。随着这么多年来的社区高速发展和海量的开源贡献者,使得 pandas 几乎可以胜任任何数据处理工作。
Pandas的功能与函数极其丰富,要完全记住和掌握是不现实的(也没有必要),资深数据分析师和数据科学家最常使用的大概有二三十个函数。在本篇内容中,ShowMeAI 把这些功能函数总结为10类。熟练掌握它们,你就可以轻松解决80% 以上的数据处理问题。
也推荐大家阅读ShowMeAI针对数据分析编写的教程和速查表,快速成为数据洞察高手! - 图解数据分析:从入门到精通系列教程 - 数据科学工具库速查表 | Pandas 速查表
💡 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
:聚合函数。包括常用的统计方法,也可以自己定义。
参考资料
- 图解数据分析:从入门到精通系列教程:http://www.showmeai.tech/tutorials/33
- 数据科学工具库速查表 | Pandas 速查表:http://www.showmeai.tech/article-detail/101
- 感谢飞书放过幕布!100个GPT-4实战案例;GPT-4免费平替Poe;AI绘画新手指南之SD篇;new Bing靠谱教程 | ShowMeAI日报
- whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
- 脉脉疯传!2023年程序员生存指南;多款prompt效率加倍工具;提示工程师最全秘籍;AI裁员正在发生 | ShowMeAI日报
- 中国风?古典系?AI中文绘图创作尝鲜!⛵
- Python中内置数据库!SQLite使用指南!
- Pandas中你一定要掌握的时间序列相关高级功能
- 数据科学家赚多少?数据全分析与可视化 ⛵
- 交互式仪表板!Python轻松完成!⛵
- ChatGPT!我是你的破壁人;比尔·盖茨不看好Web3与元宇宙;FIFA押中4届世界杯冠军;GitHub今日热榜 | ShowMeAI资讯日报
- ChatGPT要收费了;华尔街大裁员;阿里2023十大科技趋势;小红书元宇宙虚拟服饰被吐槽;GitHub今日热榜 | ShowMeAI资讯日报
- AI创业时代!这9个方向有钱途;AIGC再添霸榜应用Lensa;美团SemEval2022冠军方法分享;医学图像处理工具箱… | ShowMeAI资讯日报
- 嘘!P站数据分析年报;各省市疫情感染进度条;爱奇艺推出元宇宙App;You推出AI聊天机器人;GitHub今日热榜 | ShowMeAI资讯日报
- 美国公司裁员潮时间线◉科技寒冬可视化;3份报告回顾中国开发者2022;自动驾驶下半场,谁会冲出重围 | ShowMeAI每周通讯 #005-01.07
- 副业月入过万?数据有话说;扫地机器人发展到哪步了;疫情后要不要重返办公室;淘宝元宇宙直播间;GitHub今日热榜 | ShowMeAI资讯日报
- 大战谷歌!微软Bing引入ChatGPT;羊了个羊40万年薪招研发;Debian彻底移除Python2;GitHub今日热榜 | ShowMeAI资讯日报
- 酸了!乐视工作制改为四天半;高通新年裁员;AI绘画公司开始倒闭;网易入股张艺谋元宇宙公司;GitHub今日热榜 | ShowMeAI资讯日报
- 要么干要么滚!推特开始裁员了;深度学习产品应用·随书代码;可分离各种乐器音源的工具包;Transformer教程;前沿论文 | ShowMeAI资讯日报
- 真实世界的人工智能应用落地——OpenAI篇 ⛵
- 阳过→阳康,数据里的时代侧影;谷歌慌了!看各公司如何应对ChatGPT;两份优质AI年报;本周技术高光时刻 | ShowMeAI每周通讯 #003-12.24
- 用魔法打败魔法!这件毛衣让摄像头看不到你;两款酷炫的AI写作软件;快如闪电的B站下载工具;基于扩散模型的蛋白质设计 | ShowMeAI资讯日报