📜  Pandas DataFrame.shift()

📅  最后修改于: 2020-10-29 02:18:49             🧑  作者: Mango

Pandas DataFrame.shift()

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

句法:

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

参数:

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

返回值

它返回DataFrame的移位副本。

示例1:下面的示例演示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

示例2:该示例显示如何使用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