Pandas库在数据分析中的应用

Pandas是一个强大的Python库,专门用于数据处理和分析。它提供了丰富的函数和方法,能够显著提高数据分析的效率。Pandas基于NumPy包构建,因此继承了许多NumPy的基本特性。Pandas的两个主要数据结构是一维的Series和二维的DataFrame,它们是数据科学家和分析师工具箱中最重要和最有用的工具之一。

安装Pandas库

首先,需要导入Pandas模块,并将其别名设置为“pd”,这样做可以让代码更易读,同时避免命名空间冲突。接下来,导入os模块,它将帮助读取输入文件。然后,将创建一个函数,该函数以文件名为输入,从指定位置加载特定文件。最后,将在Pandas函数“read_csv()”中调用此函数,该函数将从提供的路径读取文件。

import pandas as pd import os def getFilePath(filename): currentDir = os.getcwd() fullPath = os.path.join(currentDir, filename) return fullPath df = pd.read_csv(getFilePath('police.csv')) print(df.head())

注意:还有其他多种方法可以读取不同类型的文件,例如read_json()、read_html()、read_excel()等,可以根据需要轻松使用。

Pandas库的主要函数

以下是Pandas库中一些常用函数的简要介绍,这些函数有助于数据探索和操作,最终加快数据分析过程并提供有价值的见解。

使用Pandas的“head()”函数可以显示数据集的前5行。可以通过将行数作为参数传递给“head()”函数来指定要显示的行数,例如df.head(10)将显示数据集中的10行。还有一个“tail()”方法,用于显示数据集中的最后5行。

如果需要查看数据集的维度,可以使用“shape”,它将以(行数,列数)的格式显示维度。

使用Pandas的“info()”函数可以获取数据集的更多信息,如列名、每列非空值的数量、每列的类型、内存使用情况等。

在读取CSV文件时,文件中的DateTime对象被读取为字符串对象,因此执行日期时间操作(如时间差)会比较困难。这时,Pandas的“to_datetime()”方法就派上用场了,可以根据需要提供不同的格式。

使用“isnull()”和“sum()”函数,可以找出DataFrame中每个特征的空值数量。

例如,如果“county_name”列完全为空,则不会提供任何有益的信息。因此,将使用Pandas的“drop()”函数删除该列。注意,提供“inplace=True”以修改当前DataFrame。

使用“describe()”函数,可以获取DataFrame中数值列的各种信息,如行数总数、平均值、最小值、最大值以及特定特征中值的分布。

“value_counts()”函数用于识别特征中的不同类别以及每个类别的值计数。

知道,通过使用“isnull()”和“sum()”函数,可以检查数据中是否有任何缺失值。例如,如果“driver_gender”特征有5335个nan或缺失值,可以使用“fillna()”函数用该特征的众数(数据集中出现频率最高的值)填充缺失值。

可以使用“sample()”函数从数据框中选择随机值。可以将想要获取的行数作为参数传递给该函数。

可以使用“nunique()”函数找到系列或数据框中唯一值的数量。通常,它用于分类特征,以识别特定特征中的类别数量。

“columns”函数按名称获取数据框中的所有特征/列。

“nsmallest()”和“nlargest()”函数用于从数据集中分别获取“n”行最低和最高值。

“groupby()”函数在数据分析中非常有用,因为它允许揭示不同变量之间的潜在关系。然后,可以使用“agg()”函数对组进行聚合,并传递各种聚合操作,如mean、size、sum、std等。

可以使用“get_group()”函数选择特定组。

loc()和iloc()方法用于从Pandas DataFrame中切片数据,这有助于根据给定条件过滤数据。loc用于按标签选择,而iloc用于按位置选择。iloc()切片指定行和列范围的数据框。

可以使用Pandas的“sort_index()”和“sort_values()”函数按索引或值对DataFrame进行排序。以下是按值排序的实现:

可以使用Pandas的query()函数根据条件或要求过滤数据框。

可以使用Pandas的“set_index()”函数将任何列设置为索引。

可以使用“duplicated()”函数查找数据集中的所有重复行。然后,可以使用drop_duplicates()函数删除重复值,因为太多的重复值会影响模型的准确性。

Pandas的“get_dummies()”方法用于将数据的分类特征转换为虚拟变量或指示变量。通常这样做是因为一些机器学习模型(如随机森林)不适用于分类值,但如果特征有太多类别,不应该使用这种方法,因为它会在数据框中创建那么多新特征,这将影响模型的性能。

可以使用“select_dtypes()”函数从数据框中分离出数值和分类特征,并创建新的数据框,包括“np.number”以选择数值列,而“objects”用于分类列。

可以使用concat()方法沿特定轴将Pandas对象连接成DataFrame输出,并使用可选的集合逻辑,如并集和交集。默认情况下,axis=0,即按行连接,因此如果设置axis=1,将执行按列连接。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485