获取 Pandas DataFrame 的前 n 条记录
在 Pandas 中处理大型数据集通常是一项艰巨的任务,尤其是在检索数据集的前几条记录时。在本文中,我们将探讨获取 Pandas DataFrame 的前 n 条记录的各种方法。
安装和语法
在进一步实施之前,我们必须确保系统上安装了 Pandas,因此请在终端中运行 pip 命令 −
pip install pandas
安装后,我们可以创建 DataFrame 或加载 CSV,然后检索前 N 条记录。
算法
Pandas DataFrame 的前 n 个条目可以通过多种方式获取,但我们将坚持使用最常用的技术和功能,例如 −
df.head(n) − 检索 DataFrame 的前 n 行。如果未指定,n 的默认值为 5。
df.iloc[:n] − 使用基于整数的索引获取 DataFrame 的前 n 行。
df.loc[:n] − 使用基于标签的索引获取 DataFrame 的前 n 行。
df[:n] − 这是 Python 中的切片运算符,众所周知,它可以从列表、字符串和可迭代对象中获取元素的子集。因此,此语法隐式获取切片运算符表示的前 N 个特定行。
示例
假设我们有一个包含多个个体信息的数据集,并且我们想要探索检索此数据前 10 行的不同方法。为此,我们可以将这些数据加载到 Pandas DataFrame 中并分析可用的不同方法。
import pandas as pd # 创建占位符数据框 df = pd.DataFrame( { 'Name': ['John', 'Mary', 'Peter', 'Jane', 'Mike', 'Alex', 'Sandy', 'Ben', 'Alice', 'Mary', 'Cooper', 'Darth', 'Vader'], 'Age': [25, 32, 18, 45, 27, 39, 32, 19, 29, 32, 18, 45, 27], 'Country': ['USA', 'Canada', 'UK', 'Australia', 'USA', 'Canada', 'UK', 'Australia', 'USA', 'Canada', 'UK', 'Australia', 'USA'] } ) # 使用 df.head(n) 检索前 5 条记录 print(df.head(5), end="\n-------------------\n") # 使用 df.iloc[:n] 检索前 5 条记录 print(df.iloc[:5], end="\n-------------------\n") # 使用 df.loc[:n] 检索前 5 条记录 print(df.loc[:5], end="\n-------------------\n") # 使用 df[:n] 检索前 5 条记录 print(df[:5], end="\n-------------------\n")
输出
Name Age Country 0 John 25 USA 1 Mary 32 Canada 2 Peter 18 UK 3 Jane 45 Australia 4 Mike 27 USA ------------------- Name Age Country 0 John 25 USA 1 Mary 32 Canada 2 Peter 18 UK 3 Jane 45 Australia 4 Mike 27 USA ------------------- Name Age Country 0 John 25 USA 1 Mary 32 Canada 2 Peter 18 UK 3 Jane 45 Australia 4 Mike 27 USA 5 Alex 39 Canada ------------------- Name Age Country 0 John 25 USA 1 Mary 32 Canada 2 Peter 18 UK 3 Jane 45 Australia 4 Mike 27 USA -------------------
解释
df.head(n) 返回 DataFrame 的前 10 行。
df.iloc[:10] 使用基于整数的索引返回 DataFrame 的前 10 行。
df.loc[:9] 使用基于标签的索引返回 DataFrame 的前 10 行。
df[:10] 使用切片运算符返回 DataFrame 的前 10 行。
应用
数据分析需要能够快速访问 DataFrame 的前 n 个条目。这有许多用途,包括 −
探索性数据分析 − 一种快速了解数据结构和内容的方法。
提取数据子集用于机器学习的测试和训练目的。
绘制数据子集将改善数据可视化。
结论
在这篇文章中,我们研究了一系列 Pandas 策略,包括 df.head(n)、df.iloc[:n]、df.loc[:n] 和 df[:n] 以捕获前 N 个指定行。我们还研究了获取 Pandas DataFrame 前 n 个条目的多种方法。如果您熟悉这些过程,您可以快速处理大量数据集,理解数据集的数据类型和性质,并有效地分析它们。