Pandas DataFrame shift()函数可以灵活的处理数据。它可以将DataFrame中的指定列的数据向上或向下移动指定的行数,并可以将移动后的空白行用指定的值填充,这样可以简化数据处理的步骤,提高效率。
shift()函数的语法如下:
DataFrame.shift(periods=1, freq=None, axis=0)
其中:
- periods:表示要移动的行数,正数表示向下移动,负数表示向上移动;
- freq:表示要移动的频率,默认为None,表示按行数移动;
- axis:表示要移动的轴,0表示按行移动,1表示按列移动,默认为0;
shift()函数的使用方法如下:
# 导入pandas模块
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({'A':[1,2,3,4,5],'B':[6,7,8,9,10]})
# 调用shift()函数,向下移动1行
df.shift(periods=1)
调用shift()函数后,DataFrame中的数据如下:
A B 0 NaN NaN 1 1.0 6.0 2 2.0 7.0 3 3.0 8.0 4 4.0 9.0
可以看到,shift()函数将DataFrame中的每一行的数据向下移动了1行,移动后的空白行用NaN填充。
shift()函数还可以将DataFrame中的指定列的数据向上或向下移动指定的行数,并可以将移动后的空白行用指定的值填充,如下所示:
# 导入pandas模块
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({'A':[1,2,3,4,5],'B':[6,7,8,9,10]})
# 调用shift()函数,向上移动2行,空白行填充0
df.shift(periods=-2,fill_value=0)
调用shift()函数后,DataFrame中的数据如下:
A B 0 0.0 0.0 1 0.0 0.0 2 1.0 6.0 3 2.0 7.0 4 3.0 8.0
可以看到,shift()函数将DataFrame中的每一列的数据向上移动了2行,移动后的空白行用0填充。
Pandas DataFrame shift()函数可以灵活的处理数据,它可以将DataFrame中的指定列的数据向上或向下移动指定的行数,并可以将移动后的空白行用指定的值填充,这样可以简化数据处理的步骤,提高效率。