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

如何基于DataFrame当前行起的A列最小值更新B列

解决方案:填充当前行至末尾的A列最小值

核心代码

import pandas as pd
import numpy as np

# 构造示例DataFrame
df = pd.DataFrame({
    'A': [500, 800, 700, 650, 800, 780, 750],
    'B': [np.nan]*7
})

# 填充B列:当前行至末尾的A列最小值
df['B'] = df['A'][::-1].cummin()[::-1]

print(df)

代码解释

  • df['A'][::-1]:将A列倒序排列,从最后一行开始往前取数
  • .cummin():对倒序后的A列计算累积最小值,此时得到的结果是从原数据末尾到当前位置的最小值
  • [::-1]:将累积最小值的结果再次倒序,还原回原数据的行顺序,此时每一行的值就是原数据中从当前行到末尾的A列最小值

输出结果

A      B
0  500  500.0
1  800  650.0
2  700  650.0
3  650  650.0
4  800  750.0
5  780  750.0
6  750  750.0

原方法的问题

df['A'].min()计算的是A列所有行的全局最小值,无法针对“当前行至末尾”这个动态范围计算最小值,而反向累积最小值的方法刚好适配这种从后往前的范围需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:55:16