Pandas 获取DataFrame的前n条记录
在Pandas中处理大型数据集通常是一项艰巨的任务,特别是在检索数据集的前几条记录时。在本文中,我们将探讨获取Pandas DataFrame前n条记录的各种方法。
安装和语法
在继续实施之前,我们必须确保系统上安装了Pandas,所以请在终端中运行pip命令 –
pip install pandas
一旦安装完成,我们可以创建一个DataFrame或加载CSV文件,然后检索前N条记录。
步骤
可以通过多种方式获取Pandas DataFrame的前N个条目,但我们将坚持使用最常用的技术和函数,例如−
- df.head(n) − 检索DataFrame的前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个条目的方法。如果您熟悉这些过程,您可以快速处理巨大的数据集,了解数据集的数据类型和性质,并有效地分析它们。