python:总结每个类别的最后一个和最大的单元格

Posted

技术标签:

【中文标题】python:总结每个类别的最后一个和最大的单元格【英文标题】:python: sum last and largest cells for each category 【发布时间】:2021-09-08 00:23:13 【问题描述】:

给定这个数据框,我想为“x”中的每个类别提取和求和“y”中的最后一个单元格。 例如,“x”中类别 A 的“y”中的最后一个单元格是 4,B 是 5,C 是 8, 因此,我想看到 4 + 5+ 8= 17。 我怎么做?如果我想对每个类别的最大数字求和怎么办?所以在这种情况下,它将是 A 中最大的 (5) + B 中最大的 (9) + C 中最大的 (8)。

import numpy as np
import pandas as pd
 data=[['A', 1,2 ,5, 'blue'],
        ['A', 5,5,6, 'blue'],
        ['A', 4,6,7, 'blue']
        ,['B', 6,5,4,'yellow'],
        ['B',9,9,3, 'blue'],
        ['B', 7,9,1,'yellow']
        ,['B', 2,3,1,'yellow'],
        ['B', 5,1,2,'yellow'],
        ['C',2,10,9,'green']
        ,['C', 8,2,8,'green'],
        ['C', 5,4,3,'green'],
        ['C', 8,5 ,3,'green']]
df = pd.DataFrame(data, columns=['x','y','z','xy', 'color'])

【问题讨论】:

【参考方案1】:

无论哪种方式,您都需要groupby

>>> df.groupby("x")["y"].last().sum()
17
>>> df.groupby("x")["y"].max().sum()
22

【讨论】:

合并它们df.groupby("x")["y"].agg(['last','max']).sum() 是的,但我认为问题的结构方式听起来像是两个不同的问题!

以上是关于python:总结每个类别的最后一个和最大的单元格的主要内容,如果未能解决你的问题,请参考以下文章

Swift 数组不返回所有值

excel合并单元格怎么弄

VBA学习笔记之End属性&查找最后的单元格方法总结

我已经将tkinter窗口划分为单元格(使用框架)。如何定义适用于每个单元格的方法?

根据单元格值合并范围内的单元格,但最后一个单元格没有被合并

第一个和最后一个 UITableViewCell 在滚动时不断变化