获取 Pandas DataFrame 的前 n 条记录

pythonpandasserver side programmingprogramming

在 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 个条目的多种方法。如果您熟悉这些过程,您可以快速处理大量数据集,理解数据集的数据类型和性质,并有效地分析它们。


相关文章