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

如何在Pandas DataFrame中引用指定timestamp行的上一行并修改字段

Pandas 修改指定时间戳行的上一行state字段

实现代码

直接通过定位目标行索引,再取前一个索引修改即可,代码中明确引用了timestamp='18:00:00':

# 获取timestamp为18:00:00的行的索引
target_idx = dataframe[dataframe['timestamp'] == '18:00:00'].index[0]
# 修改该行的上一行state为jazz
dataframe.loc[target_idx - 1, 'state'] = 'jazz'

执行后结果

修改后的DataFrame如下:

issue_stat     timestamp   state
     0          11:00:00     hi
     1          12:40:00     lo
     9          13:00:00     av
     3          15:00:00    jazz 
     8          18:00:00     hi
     4          20:00:00     lo

特殊情况处理

如果你的数据中timestamp='18:00:00'可能存在多行,或者目标行是第一行(索引为0),可以用下面的鲁棒性代码:

# 获取所有匹配的索引
target_indices = dataframe[dataframe['timestamp'] == '18:00:00'].index
# 遍历每个索引,只修改非首行的上一行
for idx in target_indices:
    if idx > 0:
        dataframe.loc[idx - 1, 'state'] = 'jazz'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:01:53