Pandas数据探索实用指南

数据探索数据分析的起点,它帮助了解数据集的内容和缺失部分。掌握Pandas的不同函数对于及时完成分析至关重要。以下是覆盖80%数据探索任务的21个顶级Pandas函数,包括获取数据集概览、统计摘要、数据子集选择、识别和处理缺失值以及修改数据集的方法。

为了更好地理解这些函数,创建了一个名为“Dummy_Sales_Data”的示例数据集,可以在GitHub仓库中免费获取,并用于其他实践项目。

导入数据到Pandas DataFrame

import pandas as pd df = pd.read_csv("Dummy_Sales_Data_v1.csv")

这是一个简单的9999 x 12数据集,是在文章“Faker: 一个神奇且极其有用的Python库”中创建的。可以在阅读结束时下载一个包含所有这些示例的完整笔记本!

Pandas函数获取数据集概览

df.head() 此函数帮助获取数据集的前几行,默认返回前5行。可以通过在df.head()中指定所需行数来改变这个数字。例如,如果想检索数据集的前7行,可以如下操作:

df.head(7)

df.tail() 此函数帮助获取数据集的最后几行,默认返回最后5行,与.head()类似,可以在df.tail()中指定所需行数。例如,如果想检索数据集的最后3行,可以如下操作:

df.tail(3)

df.sample() 此函数用于从数据集中随机选择一行、一列或两者。df.sample()接受7个可选参数,这意味着这个函数可以在不使用任何参数的情况下运行。

df.sample()

df.info() 此函数返回DataFrame的快速摘要,包括列名及其相应的数据类型、缺失值和DataFrame的内存消耗等信息。

df.info()

理想情况下,这个函数涵盖了可以通过df.dtypes、df.columns、df.shape等单独方法检索的所有信息。

Pandas函数获取数据集统计摘要

df.describe() 此函数返回数据的描述性统计信息。这包括数值列的最小值、最大值、均值(集中趋势)、标准差(离散度)以及数据中所有非空值的计数。

df.describe()

默认情况下,描述性统计信息是为所有数值列生成的。

Pandas函数选择数据子集

df.query() 此函数用于根据表达式查询DataFrame。表达式可以是一个简单的单一条件,也可以是多个条件的组合。例如,如果想检索df中数量超过95的所有行,只需将此条件作为表达式传递,如下所示:

df.query("Quantity > 95")

df.loc 此函数是DataFrame的属性,返回由标签或名称标识的行和列组。因此,可以如下访问行和列的组合:

df.loc[100,'Sales_Manager']

df.iloc 此函数再次是DataFrame的属性,返回与df.loc相同的输出,但使用行和列号代替它们的标签。

df.iloc[[100, 200], [6,3]]

Pandas函数深入洞察数据集

df.unique() 此函数返回列或系列中的唯一值列表。它不应用于完整的DataFrame,而只作用于选定的单个列。

df["Sales_Manager"].unique()

df.nunique() 此方法返回每列中唯一记录的数量。与前一个函数类似,df.nunique()可以用于单个列,如下所示:

df["Sales_Manager"].nunique()

df.isnull() 此函数帮助检查数据中哪些行和列有缺失值。从df.info()中已经知道哪些列有缺失值。df.isnull()以布尔形式返回输出——True和False——对于所有行中的所有列。

df.isnull()

df.fillna() 此函数用于用用户定义的值替换df中的缺失值或NaN。df.fillna()接受1个必需和5个可选参数。

df2.fillna("MissingInfo")

df.sort_values() 此函数有助于根据指定列对整个DataFrame进行升序或降序排列。它接受正好1个必需和5个可选参数。

df.sort_values("Quantity")

df.value_counts() 此函数返回一列中值出现的次数。因此,需要将特定列名传递给此函数。

df.value_counts("Sales_Manager")

df.nlargest() 此函数有助于快速从DataFrame的特定列中获取几个最大值以及包含该值的所有行。

df.nlargest(10, "Delivery_Time(Days)")

df.nsmallest() 类似于前一个函数,df.nsmallest()帮助获取数据集中的几个最小值。

df.nsmallest(7, "Shipping_Cost(USD)")

Pandas函数修改数据集

df.copy() 此函数用于一次性复制整个DataFrame。它只包含一个可选参数,可能永远不需要使用它。

df1 = df.iloc[0:10, :].copy()

df.rename() 这是最简单的方法,可以轻松更改选定的列名。只需要传递一个字典,其中键是旧列名,值是新列名。

df1.rename(columns = {"Shipping_Cost(USD)": "Shipping_Cost", "Delivery_Time(Days)":"DeliveryTime_in_Days"}, inplace=True)

df.where() 此函数检查DataFrame中的给定条件,并在条件为False的所有位置用NaN替换值。

df1.where(df1["Status"] == "Not Shipped")

df.drop() 此函数用于从DataFrame中删除指定的行或列。要删除的行通过它们的标签或索引标识,列通过它们的列名标识。

df1.drop("OrderCode", axis=1) df1.corr()
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485