python - 熊猫:仅对一列中的选定值求和
问题描述
我有一个数据集如下:
Data Quantity Price
0 P1 1 5
1 P2 1 7
2 P3 2 3
3 P4 1 3
4 Total 5 18
我只想对上述数据框中的 P1、P2 和 P3 求和,而不是 P4 和 Total。这可以通过多行代码来完成,但如何使用 pandas.DataFrame.sum 来完成。我目前正在使用这种千行(大约)的数据集。任何线索将不胜感激。
我在其他链接上看到了条件总和,但找不到此类问题的解决方案。
解决方案
将boolean indexing
orquery
与选择列和 一起使用sum
:
s = df.loc[df['Data'].isin(['P1','P2','P3']), ['Quantity','Price']].sum()
或者:
s = df.query('Data == ["P1", "P2", "P3"]')[['Quantity','Price']].sum()
print (s)
Quantity 4
Price 15
dtype: int64
推荐阅读
- javascript - 将 Gatsby.js 用于动态和静态 Web 应用程序
- mpi - 使用 Rmpi 在 SGE 上提交 MPI 作业
- javascript - 为什么单击十字按钮时无法清除字段?
- hibernate - 如何使用 Hibernate JPA 连接查询获取特定列数据并将其显示在 JSP 页面上
- python - docker-compose up --build,在alpine容器中安装pip包时卡住了
- python - 找不到文件 flint.exe
- javascript - 如何将网页不可用页面替换为自定义页面?(网络浏览)
- javascript - 我们可以在没有 jQuery 的普通 JavaScript 中将对象分配给 html 元素吗
- android - 我如何在行内居中小部件?
- powershell - 使用 Powershell 查看 SSRS 日志文件