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

Python中基于其他列的数值切片创建新列的实现方法

实现方案

核心逻辑是对A列做负向偏移(向上偏移),偏移量由你要取的起始位置决定:如果要从A列的第k个自然数位置开始取值,偏移量设为-(k-1)即可,你示例里k=4,对应偏移量为-3。

Pandas 实现

直接调用Series的shift()方法即可:

import pandas as pd

# 示例数据构造
df = pd.DataFrame({'A': [73, 90, 38, 290, 9, 38, 29]})

# 从A列第4个值开始取,设置偏移量
offset = 3
df['B'] = df['A'].shift(-offset)

运行后输出结果和你给出的示例完全匹配:

A      B
0   73  290.0
1   90    9.0
2   38   38.0
3  290   29.0
4    9    NaN
5   38    NaN
6   29    NaN
  • 偏移后末尾自动填充的NaN可以按需用df.dropna()删除空行,或者df['B'].fillna(自定义值)替换内容

SQL 实现

用窗口函数LEAD()实现同等效果,假设你的表名为t,排序字段为index:

SELECT 
    index,
    A,
    LEAD(A, 3) OVER (ORDER BY index) AS B
FROM t

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 11:36:01