获取 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

# Make a placeholder dataframe
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']
   }
)


# Retrieve first 5 records using df.head(n)
print(df.head(5), end="\n-------------------\n")

# Retrieve first 5 records using df.iloc[:n]
print(df.iloc[:5], end="\n-------------------\n")

# Retrieve first 5 records using df.loc[:n]
print(df.loc[:5], end="\n-------------------\n")

# Retrieve first 5 records using df[:n]
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 个条目的多种方法。如果您熟悉这些过程,您可以快速处理大型数据集,了解数据集的数据类型和性质,并有效地分析它们。

更新于:2023年7月18日

2K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告