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

如何在筛选TO_ID时获取最小值对应的整行含列名数据?

获取最小值对应的完整行数据

以下几种方法可以直接实现你想要的效果:

方法1:通过索引定位目标行

先筛选出TO_ID等于7的子数据集,再找到DURATION_H列最小值对应的行索引,最后通过索引提取整行:

# 筛选TO_ID=7的行
df_temp = df_A2C.loc[df_A2C['TO_ID'] == 7]
# 获取最小值对应的行索引
min_row_index = df_temp['DURATION_H'].idxmin()
# 取出整行(Series格式)
min_row = df_temp.loc[min_row_index]
print(min_row)

# 若要保留DataFrame格式(带列名的表格形式)
min_row_df = df_temp.loc[[min_row_index]]
print(min_row_df)

方法2:链式条件筛选一步完成

直接通过组合条件筛选出符合要求的行,无需中间变量:

# 先计算TO_ID=7时DURATION_H的最小值,再筛选对应行
min_value = df_A2C.loc[df_A2C['TO_ID'] == 7, 'DURATION_H'].min()
min_row = df_A2C.loc[(df_A2C['TO_ID'] == 7) & (df_A2C['DURATION_H'] == min_value)]
print(min_row)

方法3:用nsmallest()快速取最小行

nsmallest()可以直接提取指定列最小的N行,这里取1行即可:

# 筛选TO_ID=7的行后,取DURATION_H最小的1行
min_row = df_A2C[df_A2C['TO_ID'] == 7].nsmallest(1, 'DURATION_H')
print(min_row)

这个方法返回的是标准DataFrame格式,自动保留所有列名,输出效果和你期望的一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:16:10