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

如何用Pandas按条件将指定行的Year值减1(优先用.loc)

Pandas修正Q4对应的年份值

直接用.loc方法定位QUARTER为"Q4"的行,对YEAR列执行减1操作即可,完全符合你的需求:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'YEAR': [2021, 2021, 2021, 2022, 2022, 2022, 2022, 2023],
    'QUARTER': ['Q1', 'Q2', 'Q3', 'Q4', 'Q1', 'Q2', 'Q3', 'Q4'],
    'VALUE': [1]*8
})

# 使用.loc修改Q4对应的YEAR值
df.loc[df['QUARTER'] == 'Q4', 'YEAR'] -= 1

print(df)

运行后输出结果与你预期的转换后DataFrame一致:

YEAR QUARTER  VALUE
0  2021      Q1      1
1  2021      Q2      1
2  2021      Q3      1
3  2021      Q4      1
4  2022      Q1      1
5  2022      Q2      1
6  2022      Q3      1
7  2022      Q4      1

说明

  • .loc[条件, 列名]可以精准定位需要修改的行和列,和你其他数据转换操作的风格保持一致
  • 直接对选中的YEAR列执行-=1操作,高效且简洁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:12:40