如何高效地在索引分组的列中选择最小值pandas?

2024-03-28 15:47:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在python中找到每个索引的最小值,但是我使用的数据集非常大。如何最有效地完成以下任务: 给定数据帧:

index   col1 col2
i1      1    5
        2    6

i2      3    7
        4    8

如何最有效地获得按索引分组的col1中的最小值,即[1,3]或{i1':1,'i2':3}等,下面的实现显然是一个次标准的实现

min_time = [frame.loc[index_val]['timestamp_ms'].min() for index_val in ['i1','i2']]

谢谢


Tags: 数据for标准indextimevalminframe
1条回答
网友
1楼 · 发布于 2024-03-28 15:47:45

^{}与聚合min一起使用,然后将输出转换为列表或字典:

out = df.groupby(level=0)['col1'].min().tolist()

或:

out = df.groupby(level=0)['col1'].min().to_dict()

使用^{}的更好解决方案:

out = df['col1'].min(level=0).tolist()
out = df['col1'].min(level=0).to_dict()

相关问题 更多 >