💡 作者: 韩信子@ 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
:聚合函数。包括常用的统计方法,也可以自己定义。
参考资料
- 📘 图解数据分析:从入门到精通系列教程:http://www.showmeai.tech/tutorials/33
- 📘 数据科学工具库速查表 | Pandas 速查表:http://www.showmeai.tech/article-detail/101