本文概述
如果要移动列或从DataFrame中减去前一个行值所对应的列值, 则可以使用shift()函数来实现。它由一个称为period的标量参数组成, 该参数负责显示要在所需轴上进行的平移次数。它还能够处理时间序列数据。
句法
DataFrame.shift(periods=1, freq=None, axis=0)
参数
- 周期:它由一个可以为正或为负的整数组成。它定义了要移动的周期数。
- freq:可以与DateOffset, tseries模块, str或time规则(例如’EOM’)一起使用。
- 轴:0用于移动索引, 而1用于移动列。
- fill_value:用于填充新丢失的值。
Return
它返回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
评论前必须登录!
注册