Pandas DataFrame分组求和、分组乘积的实例
代码传奇
2024-04-02 17:21
短信预约 Python-IT技能 免费直播动态提醒
这篇文章将为大家详细讲解有关Pandas DataFrame分组求和、分组乘积的实例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Pandas DataFrame 分组求和和分组乘积
引言
Pandas DataFrame 提供了功能强大的分组功能,使数据分析和处理变得高效。分组求和和分组乘积是两个常见的操作,可分别用于计算组内值的总和和积。
分组求和
- 语法:
groupby(groupby_column).sum()
- 示例:计算不同部门的员工总工资
import pandas as pd
df = pd.DataFrame({
"Department": ["Sales", "Marketing", "Sales", "Marketing"],
"Employee": ["John", "Mary", "Bob", "Alice"],
"Salary": [10000, 8000, 12000, 9000]
})
result = df.groupby("Department").sum()
print(result)
输出:
Salary
Department
Marketing 17000
Sales 22000
分组乘积
- 语法:
groupby(groupby_column).prod()
- 示例:计算不同日期的股票平均价格
import pandas as pd
df = pd.DataFrame({
"Date": ["2021-01-01", "2021-01-01", "2021-01-02", "2021-01-02"],
"Stock": ["AAPL", "MSFT", "AAPL", "MSFT"],
"Price": [100, 200, 150, 250]
})
result = df.groupby("Date").prod()
print(result)
输出:
Price
Date
2021-01-01 20000
2021-01-02 37500
其他用法
- 多列分组:可以使用多个列进行分组,例如:
groupby(["Department", "Employee"])
- 自定义聚合函数:可以使用
agg()
方法自定义聚合函数,例如:groupby("Department").agg({"Salary": ["sum", "mean"]})
- 过滤分组:可以使用
filter()
方法过滤分组,例如:groupby("Department").filter(lambda x: x["Salary"].sum() > 10000)
优点
- 简化了组内值计算
- 提高了代码的可读性和可维护性
- 支持灵活的数据分组和聚合
局限性
- 大数据集时可能速度较慢
- 仅适用于数值数据(分组乘积)
- 对于更复杂的分组操作,可能需要自定义函数
结论
Pandas DataFrame 分组求和和分组乘积是强大的工具,可在数据分析和处理中显著提升效率。通过了解其语法和用法,用户可以轻松地对其数据进行分组并执行各种聚合操作。
以上就是Pandas DataFrame分组求和、分组乘积的实例的详细内容,更多请关注编程学习网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341