Pandas 从组中获取列的第一个和最后一个值

作者:编程家 分类: pandas 时间:2025-04-14

Pandas是一个广泛使用的Python库,用于数据分析和处理。它提供了丰富的功能和灵活的工具,使得数据的操作变得更加简单、高效。在Pandas中,我们经常需要从数据组中获取列的第一个和最后一个值。本文将介绍如何使用Pandas来实现这一操作,并提供相应的案例代码。

获取列的第一个和最后一个值

在Pandas中,我们可以使用`groupby`方法对数据进行分组,然后使用`first`和`last`方法从每个组中获取列的第一个和最后一个值。

首先,让我们导入Pandas库,并创建一个示例数据集。假设我们有一个包含学生姓名、科目和成绩的数据集。

python

import pandas as pd

# 创建示例数据集

data = {

'姓名': ['张三', '李四', '王五', '赵六', '钱七'],

'科目': ['数学', '英语', '数学', '英语', '数学'],

'成绩': [90, 85, 92, 88, 95]

}

df = pd.DataFrame(data)

接下来,我们可以使用`groupby`方法将数据集按照科目进行分组,并使用`first`和`last`方法从每个组中获取成绩列的第一个和最后一个值。

python

# 按照科目进行分组,并获取成绩列的第一个和最后一个值

result = df.groupby('科目')['成绩'].agg(['first', 'last'])

运行以上代码后,我们将得到一个新的DataFrame,其中包含每个科目的第一个和最后一个成绩值。

案例代码

下面是完整的案例代码:

python

import pandas as pd

# 创建示例数据集

data = {

'姓名': ['张三', '李四', '王五', '赵六', '钱七'],

'科目': ['数学', '英语', '数学', '英语', '数学'],

'成绩': [90, 85, 92, 88, 95]

}

df = pd.DataFrame(data)

# 按照科目进行分组,并获取成绩列的第一个和最后一个值

result = df.groupby('科目')['成绩'].agg(['first', 'last'])

print(result)

运行以上代码,我们将得到如下输出:

first last

科目

数学 90 95

英语 85 88

以上输出显示了每个科目的第一个和最后一个成绩值。

本文介绍了如何使用Pandas从数据组中获取列的第一个和最后一个值。我们使用了`groupby`方法对数据进行分组,并使用`first`和`last`方法从每个组中获取列的第一个和最后一个值。这种方法简单而高效,对于数据的分析和处理非常有用。

希望本文对你理解Pandas的相关操作有所帮助!