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

如何使用列表推导式为Pandas DataFrame添加价格更高公司列

使用列表推导式为Pandas DataFrame添加more_expensive列

原始DataFrame定义

import pandas as pd

df = pd.DataFrame({
    'company_1': ['McDonalds', 'Mercedes', 'Apple'],
    'company_2': ['Wendys', 'BWM', 'Microsoft'],
    'company_1_price' : [3, 1, 4],
    'company_2_price' : [2, 8, 3]
})

需求说明

为上述DataFrame添加一列more_expensive,该列每行的值为对应行中价格更高的公司名称。

实现代码(列表推导式)

df['more_expensive'] = [
    row['company_1'] if row['company_1_price'] > row['company_2_price'] 
    else row['company_2'] 
    for _, row in df.iterrows()
]

逻辑说明

通过df.iterrows()遍历DataFrame的每一行,对每行的company_1_price和company_2_price做比较:

  • 若company_1_price更大,选取company_1的名称
  • 否则选取company_2的名称
    将推导得到的结果列表直接赋值给新列more_expensive即可完成需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 14:04:52