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

如何将DataFrame列中每个值代入公式并生成结果列?

为DataFrame每列按指定公式计算结果列

需求说明

给定如下结构的DataFrame:

Column 1Column 2Column 3
-0.0178490.122320.12323
36.500001.3200330.10937
-187.03982-1.09322-3.20091

需为每列的每个数值x计算y值,公式为:
y = ((maximum - minimum)**2) + ((x - 10)**2)
其中maximum是对应列的最大值,minimum是对应列的最小值。

实现代码

使用Pandas可高效完成该计算,代码如下:

import pandas as pd

# 构造示例DataFrame
data = {
    'Column 1': [-0.01784, 36.50000, -187.03982],
    'Column 2': [90.12232, 1.32003, -1.09322],
    'Column 3': [0.12323, 30.10937, -3.20091]
}
df = pd.DataFrame(data)

# 定义计算函数,接收列数据并返回计算结果
def compute_y(col):
    col_max = col.max()
    col_min = col.min()
    return (col_max - col_min)**2 + (col - 10)**2

# 应用函数到每一列,保留5位小数匹配预期精度
result_df = df.apply(compute_y).round(5)

运行结果

执行代码后,result_df的输出与预期完全一致:

Column 1Column 2Column 3
50070.4082414739.860891207.12533
50672.301128395.616611513.96151
88794.741798443.334261283.83877

说明

  • df.apply()会遍历DataFrame的每一列,将列数据传入自定义函数compute_y
  • 函数内先获取当前列的最大值和最小值,再严格按照公式计算每个x对应的y
  • 使用round(5)统一保留5位小数,确保结果精度与预期匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:53:25