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

如何基于前一行Max_val值修改DataFrame指定行的Min_val?

修改DataFrame指定位置的值

嘿,这事儿不难,我给你分享两种靠谱的实现方式,其中第二种是pandas官方更推荐的做法哦:

首先先把你的原始代码放出来,方便对照:

import pandas as pd
df_ticker = pd.DataFrame({'Min_val': [22382,37876,46717,62247], 'Max_val': [36901,46716,62045,182727], 'Ticker':['$','$$','$$$','$$$$']})

方法1:直接索引赋值

这种方式写法简单,直接定位到要修改的行列位置赋值:

df_ticker['Min_val'][1] = df_ticker['Max_val'][0] + 1

不过要注意,这种链式赋值有时候会触发SettingWithCopyWarning警告,如果你不在意这个警告的话可以用,但更稳妥的是下面的方法。

方法2:使用loc定位修改(推荐)

loc是pandas专门用于基于标签的行列定位的方法,用它修改值不会有警告,而且逻辑更清晰:

df_ticker.loc[1, 'Min_val'] = df_ticker.loc[0, 'Max_val'] + 1

修改完成后,你打印df_ticker就能看到索引1的Min_val已经变成了36901 + 1 = 36902啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:17:02