无涯教程-DataFrame.shift函数

97 阅读1分钟

如果要移动列或从DataFrame中减去前一行的列值,则可以使用 shift()函数来实现。它由一个名为 period 的标量参数组成,该参数负责显示要在所需轴上进行的平移次数。它还能够处理时间序列数据。

shift - 语法

DataFrame.shift(periods=1, freq=None, axis=0)

shift - 参数

  • periods       -  它由一个可以为正或为负的整数组成。它定义了要移动的周期数。
  • freq              -  它可与DateOffset,tseries模块,str或时间规则(例如EOM)一起使用。
  • axis              -  0用于移动索引,而1用于移动列。
  • fill_value   -  用于填充新丢失的值。

shift - 返回值

它返回DataFrame的移位副本。

Example1 :下面的示例演示 shift()的工作。

import pandas as pd
info= pd.DataFrame({a_data: [45, 28, 39, 32, 18],
b_data: [26, 37, 41, 35, 45],
c_data: [22, 19, 11, 25, 16]})
info.shift(periods=2)

输出

   a_data    b_data   c_data 
0   NaN       NaN      NaN
1   NaN       NaN      NaN
2   45.0      26.0     22.0
3   28.0      37.0     19.0
4   39.0      41.0     11.0

Example2 :该示例说明如何使用 fill_value 填充DataFrame中的缺失值。

import pandas as pd
info= pd.DataFrame({a_data: [45, 28, 39, 32, 18],
b_data: [26, 38, 41, 35, 45],
c_data: [22, 19, 11, 25, 16]})
info.shift(periods=2)
info.shift(periods=2,axis=1,fill_value= 70)

输出

   a_data    b_data   c_data 
0    70       70       45
1    70       70       28
2    70       70       39
3    70       70       32
4    70       70       18

参考链接

www.learnfk.com/pandas/pand…