如果你想要将DataFrame的列进行位移或将列值减去前一行的值,可以使用shift()函数。它包含一个标量参数称为periods,用于指定在所需轴上进行的位移次数。它还能够处理时间序列数据。

语法:

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

参数:

  • periods: 它包含一个整数值,可以是正数或负数。它定义了要移动的周期数。
  • freq: 它可以与DateOffset、tseries模块、字符串或时间规则(例如,'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

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档