如何在DataFrame中获取Fitness Value列最小值所在的整行记录?
获取DataFrame中指定列最小值所在的整行记录
样本数据
Fitness Value MSU Locations MSU Range 1.180694 {17, 38, 15} 2.017782 1.202132 {10, 22, 39} 2.032507 1.179097 {10, 5, 38} 2.048932 1.175793 {27, 20, 36} 1.820395 1.187460 {33, 10, 34} 1.922506
目标输出
获取Fitness Value列最小值(1.175793)所在的整行:
1.175793 {27, 20, 36} 1.820395
已尝试的代码
仅获取到最小值,未得到整行:
minValue = df_2['Fitness Value'].min() print("minimum value in column 'y': " , minValue)
尝试获取整行但存在语法错误:
df_y = pd.DataFrame () df_y = df_2.loc[[df_2['Fitness Value']].min()
解决方案
方法1:用idxmin()定位索引后取整行
idxmin()会返回指定列最小值对应的行索引,搭配loc即可直接取出整行:
# 获取最小值所在行的索引 min_index = df_2['Fitness Value'].idxmin() # 取出整行数据(返回Series格式) result_row = df_2.loc[min_index] print(result_row)
如果需要保持DataFrame格式(而非单列Series),可以用双层方括号:
result_df = df_2.loc[[min_index]] print(result_df)
方法2:布尔索引筛选匹配行
先获取最小值,再筛选列值等于最小值的所有行(适用于存在多个相同最小值的场景):
min_value = df_2['Fitness Value'].min() result_rows = df_2[df_2['Fitness Value'] == min_value] print(result_rows)
内容的提问来源于stack exchange,提问作者user13373167
相关产品推荐
相关产品推荐

