当前位置: 首页 > 工具软件 > Shift > 使用案例 >

Pandas库的DataFrame.shift()方法

太叔富
2023-12-01

1 函数作用

  • 把数据移动指定的位数

2 函数原型

DataFrame.shift(periods=1, freq=None, axis=0)
  1. 假设现在有一个DataFrame类型的数据df,调用函数就是df.shift()
  2. periods: 类型为int,表示移动的步幅,可正可负,默认periods=1
  3. freq: 默认为None 只适用于时间序列, 会按照参数值移动时间索引,而数据值则不发生变化。
  4. axis: 默认为0, 按行从上往下移动。

3 举例①

  1. 代码
import pandas as pd

data1 = pd.DataFrame({
    'a': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    'b': [9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
    'c': [3, 4, 6, 3, 5, 7, 8, 2, 3, 4]
})
print(data1)

data2 = data1.shift(2)
print(data2)
print(data1)
  1. 数据形状;
   a  b  c
0  0  9  3
1  1  8  4
2  2  7  6
3  3  6  3
4  4  5  5
5  5  4  7
6  6  3  8
7  7  2  2
8  8  1  3
9  9  0  4
  1. shift之后数据形状:(也就是往下移动2个单位)
     a    b    c
0  NaN  NaN  NaN
1  NaN  NaN  NaN
2  0.0  9.0  3.0
3  1.0  8.0  4.0
4  2.0  7.0  6.0
5  3.0  6.0  3.0
6  4.0  5.0  5.0
7  5.0  4.0  7.0
8  6.0  3.0  8.0
9  7.0  2.0  2.0
  1. data1.shift()方法是不会修改原数据的。
   a  b  c
0  0  9  3
1  1  8  4
2  2  7  6
3  3  6  3
4  4  5  5
5  5  4  7
6  6  3  8
7  7  2  2
8  8  1  3
9  9  0  4
 类似资料: