Pandas 按两列分组,然后获取值的字典

作者:编程家 分类: pandas 时间:2025-06-19

使用Pandas按两列分组,并获取值的字典,可以方便地对数据进行聚合分析和统计。Pandas是一个强大的数据处理工具,它提供了丰富的功能来处理和分析数据。

在实际的数据分析工作中,经常需要根据某些特定的列对数据进行分组,并对每个分组进行统计或计算。使用Pandas的`groupby()`方法可以很方便地实现这一功能。该方法将数据按照指定的列进行分组,并返回一个GroupBy对象。

接下来,我们可以对GroupBy对象进行各种操作,如计算分组的平均值、求和、计数等。其中,`agg()`方法可以用来对分组后的数据进行聚合操作,并将结果返回为字典。这样,我们就可以轻松地获取到按两列分组后的值的字典了。

下面是一个示例代码:

python

import pandas as pd

# 创建一个示例数据集

data = {'姓名': ['张三', '李四', '王五', '张三', '李四', '王五'],

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

'成绩': [80, 90, 85, 70, 75, 80]}

df = pd.DataFrame(data)

# 按姓名和科目分组,并计算每个分组的平均成绩

result = df.groupby(['姓名', '科目'])['成绩'].mean().reset_index()

# 将结果转换为字典

result_dict = result.set_index(['姓名', '科目']).to_dict()['成绩']

print(result_dict)

在上面的示例代码中,我们首先创建了一个包含姓名、科目和成绩的示例数据集。然后,我们使用`groupby()`方法将数据按照姓名和科目进行分组,并计算每个分组的平均成绩。最后,我们将结果转换为字典,并打印输出。

案例代码结果:

{('张三', '数学'): 80.0, ('张三', '语文'): 70.0, ('李四', '数学'): 90.0, ('李四', '语文'): 75.0, ('王五', '数学'): 85.0, ('王五', '语文'): 80.0}

通过上述代码,我们成功地按照姓名和科目分组,并获取了每个分组的平均成绩的字典。

使用Pandas按两列分组,然后获取值的字典

在实际的数据分析和处理中,按照某些特定的列进行分组是一项常见的操作。通过Pandas的`groupby()`方法和`agg()`方法,我们可以很方便地对数据进行分组,并对每个分组进行统计和计算。这对于数据的聚合分析和统计非常有用。

案例代码结果:

{('张三', '数学'): 80.0, ('张三', '语文'): 70.0, ('李四', '数学'): 90.0, ('李四', '语文'): 75.0, ('王五', '数学'): 85.0, ('王五', '语文'): 80.0}

通过上述示例代码,我们可以看到按照姓名和科目分组后,每个分组的平均成绩被存储在一个字典中。这样,我们可以方便地获取到按两列分组后的值的字典,并对数据进行进一步的分析和处理。

通过Pandas的`groupby()`方法和`agg()`方法,我们可以很方便地按两列分组,并获取到值的字典。这对于数据的聚合分析和统计提供了很大的便利。在实际的数据处理工作中,我们可以根据具体的需求进行分组,并对每个分组进行各种操作和计算。

以上就是使用Pandas按两列分组,并获取值的字典的方法和示例代码。希望本文能对你在数据处理和分析中有所帮助!