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

如何用Pandas获取DetectedSpeed最大值对应的Area与Month?

解决方案

先从原DataFrame中提取需要的三列,避免其他列干扰:

df_filtered = df[['Area', 'Month', 'DetectedSpeed']]

接下来定位DetectedSpeed最大值对应的整行数据:

# 找到最大速度所在行的索引
max_speed_idx = df_filtered['DetectedSpeed'].idxmax()
# 获取该行数据
max_speed_row = df_filtered.loc[max_speed_idx]

最后输出你需要的格式:

print(f"{max_speed_row['Area']} {max_speed_row['Month']} {max_speed_row['DetectedSpeed']}")

为什么之前的方法不适用?

  • 直接用df.max():会返回每一列各自的最大值(比如Area取字符串排序后的最大值、Month取数值最大值),但这些值不属于同一行,无法得到关联的结果。
  • 用groupby(['Area', 'Month']).max():这是按区域+月份分组后取每组的最大速度,得到的是各组的局部最大值,而非全局最大速度对应的目标行。

如果存在多行有相同的最大速度,上面的方法只会取第一个出现的行。要获取所有符合条件的行,可以用布尔索引:

max_speed_value = df_filtered['DetectedSpeed'].max()
all_max_rows = df_filtered[df_filtered['DetectedSpeed'] == max_speed_value]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 13:41:00