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

如何使用Python基于其他列的条件计算并新增rate列?

实现表格新增rate列的Python方案

当然可以用Python搞定这个需求!处理这类结构化表格数据,pandas库是最合适的工具,下面是具体的实现步骤和代码:

步骤说明

我们可以利用pandas的条件判断功能,根据hour和km_length列的有效值情况,分别应用对应的计算公式生成rate列。

完整代码示例

import pandas as pd
import numpy as np

# 构造初始表格数据,空值用np.nan表示(符合pandas的标准缺失值格式)
data = {
    'type': ['A', 'B'],
    'hour': [1, np.nan],
    'km_length': [np.nan, 2],
    'total': [1, 1]
}
df = pd.DataFrame(data)

# 计算rate列:优先使用hour列的公式,否则用km_length的公式
df['rate'] = np.where(
    df['hour'].notna(),
    (df['hour'] * 100) / df['total'],
    (df['km_length'] * 1000000) / df['total']
)

# 打印结果
print(df)

运行结果

执行上述代码后,会得到你想要的目标表格:

typehourkm_lengthtotalrate
A1.0NaN1100.0
BNaN2.012000000.0

补充说明

  • 如果你的原始数据中空值是用空字符串''表示的,可以先执行df.replace('', np.nan, inplace=True)转换为标准缺失值,再进行后续计算
  • np.where()函数是高效的条件分支工具,能批量处理整列数据,比逐行遍历的效率高很多

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 07:27:51