【Pandas必看】DataFrame 数据神操作!轻松实现数据分组、求和和合并
大家好!欢迎来到我的技术博客。在本篇文章中,我们将学习如何使用 DataFrame 对数据进行分组、合并和统计操作。这是一个非常实用的功能,特别适合处理大数据集。
实用场景:绘制柱状图时,数据预处理——合并分类数据。

我们将使用Pandas库来完成这些操作,并展示代码示例。废话不多说,让我们开始吧!
问题背景
假设我们有一个包含两列数据的DataFrame,其中一列是标志列’序号’,另一列是数值列’年龄’。我们想要按照’序号’列对数据进行分组,并对同组的’年龄’数据进行求和。
让我们先看一下原始的数据样本:
import pandas as pd
x = ['A', 'B', 'C', 'A', 'B', 'C']
y = [3, 2, 4, 5, 1, 6]
colHeader=["序号","年龄"]
data = {'序号': x, '年龄': y}
df = pd.DataFrame(data, columns=colHeader)
print(df)
这将输出以下结果:
序号 年龄
0 A 3
1 B 2
2 C 4
3 A 5
4 B 1
5 C 6
接下来,我们将对数据进行分组,并对同组的’年龄’数据进行求和。让我们来实现它。
1.分组求和并合并
df_grouped = df.groupby('序号')['年龄'].sum()
print(df_grouped)
这将生成一个以’序号’为索引的Series数据,其中包含了按照’序号’列分组后,'年龄’列的求和结果。
让我们看看分组求和的结果:
序号
A 8
B 3
C 10
Name: 年龄, dtype: int64
我们可以看到,‘A’ 组的年龄总和是8,'B’组的年龄总和是3,'C’组的年龄总和是10。这些结果以’序号’为索引,是一个Series数据。
2.转换为DataFrame格式
现在,我们将把这个Series数据转换为DataFrame格式,并重置索引,以便能够进一步处理。
df_grouped = df_grouped.reset_index()
print(df_grouped)
这将创建一个新的DataFrame,其中包含了’序号’和’年龄’两列,并恢复了默认的整数索引。
让我们来看看转换后的DataFrame数据:
序号 年龄
0 A 8
1 B 3
2 C 10
‘序号’列包含了’A’、‘B’、'C’三个组的标识符,'年龄’列包含了对应组的年龄总和。
总结
恭喜你!你已经学会了使用DataFrame对数据进行分组、合并和统计的操作。
在本篇文章中,我们首先介绍了问题的背景,然后展示了如何使用Pandas库对数据进行分组、求和,并将结果整理为DataFrame数据。我们通过简洁明了的代码示例,清晰地演示了整个操作过程。
希望本文对你有所帮助,并且能够激发你对DataFrame更多潜在功能的探索。如果你还有任何疑问或建议,请随时在评论区留言,我将尽快回复。
感谢大家的阅读!记得关注我的博客,将会有更多的有趣内容等着你。下次见!