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

从DataFrame列表列中按count列最小值匹配获取对应row值

处理DataFrame列表列的最小值匹配需求

输入数据

原始DataFrame如下:

import pandas as pd

df = pd.DataFrame({
    'Flow': ['Apple', 'Orange'],
    'row': [[45, 46], [13, 14]],
    'count': [[2, 1], [1, 5]]
})

需求说明

针对每行数据,找出count列列表中的最小值,同时获取row列列表中对应位置的数值,最终输出包含Flow、对应row值、最小count值的新DataFrame。

解决方案

可以通过pandas的apply方法逐行处理数据:

# 定义处理单行的函数
def extract_min_info(row):
    min_count = min(row['count'])
    min_index = row['count'].index(min_count)
    return pd.Series([row['Flow'], row['row'][min_index], min_count], index=['Flow', 'row', 'count'])

# 生成结果DataFrame
result_df = df.apply(extract_min_info, axis=1)
print(result_df)

也可以用更简洁的lambda表达式实现:

result_df = df.apply(lambda x: pd.Series({
    'Flow': x['Flow'],
    'row': x['row'][x['count'].index(min(x['count']))],
    'count': min(x['count'])
}), axis=1)

输出结果

运行代码后得到的结果如下:

Flow  row  count
0   Apple   46      1
1  Orange   13      1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:10:34