Python数据分析库Pandas基础功能介绍

在数据科学和数据分析领域,Python因其易学性、强大的在线社区支持以及丰富的数据相关库而广受欢迎。Pandas库是Python中进行数据分析的核心库之一,本文将介绍Pandas中13个基础且重要的函数和方法,这些是每位数据分析师和数据科学家必须掌握的。

1. read_csv()

read_csv()函数是Pandas中读取数据的关键方法之一,它允许将逗号分隔值(csv)文件读入Pandas DataFrame。只需指定文件路径即可。该函数同样可以读取以其他分隔符(如|或制表符)分隔的文件。以下是如何使用read_csv()函数的Python代码示例:

# 导入Pandas库 import pandas as pd # 读取数据集 data_1 = pd.read_csv(r'blog_dataset.csv')

2. to_csv()

to_csv()函数与read_csv()函数相反,它将Pandas DataFrame或Series中的数据写入csv文件。read_csv()和to_csv()是Pandas中最常用的函数之一,因为它们在从数据源读取数据时非常重要。

3. head()

head(n)函数用于返回数据集的前n行。默认情况下,df.head()将返回DataFrame的前5行。如果想要更多或更少的行数,可以指定n为一个整数。

data_1.head(6)

输出显示了数据集的前6行(索引0到5),符合预期。tail()函数与head()类似,返回数据集的底部n行。head()和tail()帮助快速查看数据集,并检查数据是否已正确读入DataFrame。

4. describe()

describe()函数用于生成Pandas DataFrame或Series中数据的描述性统计信息。它总结了数据集的中心趋势和离散程度。describe()帮助快速了解数据集。

data_1.describe()

describe()列出了数据集中所有数值列的不同描述性统计度量。通过将include属性设置为‘all’,可以获得包括分类信息在内的所有列的描述。

5. memory_usage()

memory_usage()函数返回一个Pandas Series,包含Pandas DataFrame中每列的内存使用量(以字节为单位)。通过将deep属性设置为True,可以了解每列实际占用的空间。

data_1.memory_usage(deep=True)

每列的内存使用量以Pandas Series的形式输出。了解DataFrame的内存使用量很重要,以便可以处理Python中的MemoryError等错误。

6. astype()

astype()函数用于将Python对象转换为特定数据类型。如果数据没有存储在正确的格式(数据类型)中,这个函数非常有用。例如,如果浮点数被Python错误地解释为字符串,可以使用astype()将它们转换回浮点数。或者,如果想将对象数据类型转换为类别,可以使用astype()。

data_1['Gender'] = data_1.Gender.astype('category')

可以通过查看数据集中所有列的数据类型来验证数据类型的更改,使用dtypes属性。有关astype()的更多文档,请点击。

7. loc[:]

loc[:]函数帮助根据需要访问数据集中的一组行和列,或者数据集的一个切片。例如,如果只想访问数据集的最后两行和前三列,可以使用loc[:]来访问它们。还可以基于标签而不是行和列号来访问行和列。

data_1.loc[0:4, ['Name', 'Age', 'State']]

上述代码将返回前5条客户记录的“Name”、“Age”和“State”列。请注意,Python中的索引从0开始,loc[:]包含提到的两个值。因此,0:4意味着包括索引0到4。

8. to_datetime()

to_datetime()函数将Python对象转换为datetime格式。它可以接受整数、浮点数、列表、Pandas Series或Pandas DataFrame作为参数。当数据集包含时间序列值或日期时,to_datetime()非常有用。

data_1['DOB'] = pd.to_datetime(data_1['DOB'])

现在DOB列已更改为Pandasdatetime格式。现在可以在该列上应用所有datetime函数。有关to_datetime()的更多信息,请点击。

9. value_counts()

value_counts()函数返回一个PandasSeries,包含Series中唯一值的计数。考虑一个包含公司5000名客户信息的数据集。value_counts()将帮助识别Series中每个唯一值的出现次数。它可以应用于包含州、就业行业或客户年龄等数据的列。

data_1['State'].value_counts()

输出显示了数据集中每个州的出现次数,符合预期。value_counts()还可以用来绘制分类和序数数据的条形图。有关value_counts()的文档,请点击。

10. drop_duplicates()

drop_duplicates()函数返回一个Pandas DataFrame,其中重复的行已被删除。即使在重复项中,也有一个选项可以保留重复项的第一个(记录)或最后一个。还可以指定inplace和ignore_index属性。

data_1.drop_duplicates(inplace=True)

inplace=True确保更改应用于原始数据集。可以通过查看原始数据集的形状和修改后的数据集(删除重复项后)来验证更改。将注意到行数已从9减少到8(因为已删除1个重复项)。

11. groupby()

groupby()函数用于根据1个或多个列对Pandas DataFrame进行分组,并对其执行一些数学运算。groupby()可以用来简化数据汇总。

data_1.groupby(by='State').Salary.mean()

上述代码将按“State”列对数据集进行分组,并返回跨州的平均年龄。有关groupby()的更多信息,请点击。

12. merge()

merge()函数用于合并两个Pandas DataFrame对象或一个DataFrame和一个Series对象在公共列(字段)上。如果熟悉SQL中的JOIN概念,merge函数类似于JOIN。它返回合并后的DataFrame。

data_1.merge(data_2, on='Name', how='left')

要了解更多关于on(包括left_on和right_on)、how和suffixes等属性的信息,请参阅。

13. sort_values()

sort_values()函数用于按Pandas DataFrame(或Pandas Series)中的值对列进行排序,可以是升序或降序。通过将inplace属性设置为True,可以直接在原始DataFrame中进行更改。

data_1.sort_values(by='Name', inplace=True)

现在记录的顺序已经改变。记录现在按名字的字母顺序列出。sort_values()还有许多其他可以指定的属性。可以在阅读有关它的信息。

data_1['City temp'].fillna(38.5, inplace=True)
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485