Pandas DataFrame - 将具有相同索引的一列值组合到列表中

pandas

1个回答

写回答

myearthblue

2025-07-09 15:05

+ 关注

Python
Python

在数据分析和处理过程中,经常会遇到将具有相同索引的一列值组合到列表中的需求。这种需求在使用Python的数据处理库Pandas中可以很方便地实现。本文将介绍如何使用Pandas来实现这一操作,并通过一个案例代码来加深理解。

案例代码:

假设我们有一个包含学生信息的DataFrame,其中包括学生姓名、年龄和成绩三列。我们想要将相同年龄的学生姓名组合成一个列表。下面是一个示例的DataFrame:

Python

import Pandas as pd

data = {

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

'年龄': [18, 18, 19, 20, 20, 19],

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

}

df = pd.DataFrame(data)

我们可以使用Pandas的groupby()方法来按照年龄进行分组,并将姓名列中的值组合成一个列表。代码如下:

Python

grouped = df.groupby('年龄')['姓名'].apply(list)

执行以上代码后,grouped变量将保存一个Series对象,其中索引为年龄,值为对应年龄下的学生姓名列表。我们可以通过打印grouped来查看结果:

Python

print(grouped)

输出结果如下:

年龄

18 [张三, 李四]

19 [王五, 孙八]

20 [赵六, 钱七]

Name: 姓名, dtype: object

从输出结果中可以看到,相同年龄的学生姓名已经按照要求组合成了列表。

使用Pandas DataFrame将具有相同索引的一列值组合到列表中

在上面的案例中,我们使用了Pandas的groupby()方法来按照年龄进行分组,并将姓名列中的值组合成了一个列表。这种操作在实际数据分析中非常常见,特别是对于一些需要统计分组数据的场景。

代码解析

首先,我们导入了Pandas库,并创建了一个包含学生信息的DataFrame。然后,我们使用groupby()方法,指定以年龄列为分组的依据,并通过apply()方法将姓名列中的值转换为列表。最后,我们将结果保存在一个Series对象中,并打印输出。

本文介绍了如何使用Pandas将具有相同索引的一列值组合到列表中。通过groupby()方法和apply()方法的结合使用,我们可以轻松地实现这一操作。这种方法在实际数据分析中非常有用,可以帮助我们更好地理解和处理数据。

参考代码

Python

import Pandas as pd

data = {

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

'年龄': [18, 18, 19, 20, 20, 19],

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

}

df = pd.DataFrame(data)

grouped = df.groupby('年龄')['姓名'].apply(list)

print(grouped)

输出结果:

年龄

18 [张三, 李四]

19 [王五, 孙八]

20 [赵六, 钱七]

Name: 姓名, dtype: object

通过以上案例代码的演示,我们可以清晰地了解如何使用Pandas来将具有相同索引的一列值组合到列表中。这种方法在实际的数据处理和分析中非常有用,可以帮助我们更好地理解数据并进行进一步的统计和分析工作。希望本文对你有所帮助!

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号