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

如何在Pandas DataFrame中替换值为1的行后第24行的值为-1

解决Pandas DataFrame指定行替换问题

完整实现代码

import pandas as pd

# 创建示例DataFrame
s = pd.Series([1, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 1, 0, -1, 0, 0, 1, 0, 0, -1, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0], name='position_short')
df = pd.DataFrame(s)
df.index = range(7, 108)

# 1. 获取所有值为1的行的索引
source_indices = df[df['position_short'] == 1].index

# 2. 计算目标索引(当前索引+24)
target_indices = [idx + 24 for idx in source_indices]

# 3. 过滤掉DataFrame索引范围外的目标索引,避免报错
valid_target_indices = [idx for idx in target_indices if idx in df.index]

# 4. 将目标索引位置的值设为-1
df.loc[valid_target_indices, 'position_short'] = -1

# 查看指定范围的结果
print(df.loc[7:36])

代码说明

  • 精准定位所有值为1的行的索引,作为后续操作的基础
  • 直接对源索引做加法计算目标索引,确保定位到"往后第24行"的位置
  • 增加索引有效性过滤,防止因目标索引超出DataFrame范围导致报错
  • 使用.loc进行赋值操作,这是Pandas中修改指定行数据的安全规范方式

运行结果

position_short
Bar numbers               
7                        1
8                       -1
9                        0
10                       0
11                       0
12                       1
13                       0
14                       0
15                      -1
16                       0
17                       0
18                       0
19                       0
20                       0
21                       0
22                       0
23                       0
24                       0
25                       0
26                       0
27                       0
28                       0
29                       0
30                       0
31                      -1
32                       1
33                       0
34                       0
35                       0
36                      -1

完全符合预期:索引7对应的目标索引31被替换为-1,索引12对应的目标索引36原本就是-1,赋值后保持不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:20:43