You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python pandas查询表格volume最大值对应datetime及index值

pandas 实现查询volume最大值对应信息的方案

前置代码:构造示例DataFrame

你可以直接用如下代码构造题目中的测试数据,如果你是从文件/数据库读入数据可以跳过这一步直接替换成你的读入逻辑:

import pandas as pd

# 构造测试数据
data = [
    [100, 3, "2021-09-29 04:00:00-04:00"],
    [300, 2, "2021-09-29 04:30:00-04:00"],
    [700, 5, "2021-09-29 05:30:00-04:00"],
    [500, 9, "2021-09-29 06:00:00-04:00"],
    [900, 22, "2021-09-29 06:30:00-04:00"],
    [400, 29, "2021-09-29 07:00:00-04:00"]
]
df = pd.DataFrame(data, columns=["volume", "price", "datetime"])

需求1:获取volume最大值对应的datetime值

用idxmax()方法获取volume列最大值对应的行索引,再通过索引取值即可:

max_vol_datetime = df.loc[df['volume'].idxmax(), 'datetime']
print(max_vol_datetime)

运行输出结果为:2021-09-29 06:30:00-04:00

如果你存在多个volume同为最大值的行,需要返回所有对应datetime,可以用布尔索引实现:

max_vol = df['volume'].max()
all_max_datetime = df.loc[df['volume'] == max_vol, 'datetime'].tolist()

需求2:获取volume最大值对应的行索引编号

直接取idxmax()的返回值即可:

max_vol_index = df['volume'].idxmax()
print(max_vol_index)

运行输出结果为:4(pandas默认行索引从0开始计数)

如果你存在多个volume同为最大值的行,需要返回所有对应行索引,可以用如下代码:

max_vol = df['volume'].max()
all_max_index = df[df['volume'] == max_vol].index.tolist()

内容的提问来源于stack exchange,提问作者GinSnipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:06:03