从数据框中按组选择行,然后在给定的列中选择最大值

时间:2019-10-25 03:50:00

标签: python pandas

我有一个结构如下的数据集。这是一个示例,因此请想象一个包含许多序列的数据帧。几件事要精确: pre_tasks:降序排列。 time也是降序排列。 新的created_attime出现时,created_atsource都会重置。

currency

根据index time app_v last source currency created_at 1 2019-10-23 3 4488 gol JPY 66 2 2019-10-23 29193 6687 gol JPY 65 3 2019-10-22 3 4587 gol JPY 64 4 2019-10-20 3 5687 gol JPY 63 5 2019-10-19 3 34787 gol JPY 62 6 2019-10-18 3 11789 gol JPY 61 ... lasttime分组的source,预期输出是最新的currency。对于此示例,我们有2行对应:

app_v

1 个答案:

答案 0 :(得分:0)

您可以调用last来计算每个组的最后一个值,然后使用iloc来获取行值:

df.groupby(["source", "currency", "app_v"]).last().iloc[-1]

您可以使用name属性访问索引组值,例如: df.get_group(df.groupby('a').last().iloc[-1].name)