详解 Pandas 的 shift 位移函数

Pandas 的 shift 函数是对数据进行移动的操作,特别是适用于时间序列数据的处理。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(12).reshape(4, 3), index=["a", "b", "c", "d"], columns=["A", "B", "C"])

print(df)

原始数据

   A   B   C
a  0   1   2
b  3   4   5
c  6   7   8
d  9  10  11
print(df.shift()) # 默认向下移动一行,空缺使用 NaN 填充

结果展示

    A    B    C
a  NaN  NaN  NaN
b  0.0  1.0  2.0
c  3.0  4.0  5.0
d  6.0  7.0  8.0
print(df.shift(axis=1)) # 向右移动一列,空缺使用 NaN 填充

结果展示

    A  B   C
a NaN  0   1
b NaN  3   4
c NaN  6   7
d NaN  9  10
print(df.shift(periods=-1))  # 设置向上移动一行,空缺使用 NaN 填充

结果展示

     A     B     C
a  3.0   4.0   5.0
b  6.0   7.0   8.0
c  9.0  10.0  11.0
d  NaN   NaN   NaN
print(df.shift(fill_value=-1)) # 指定空缺使用 -1 填充

结果展示

   A  B  C
a -1 -1 -1
b  0  1  2
c  3  4  5
d  6  7  8
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值