Python Pandas Series.shift()
Pandas系列是一个带有轴标签的一维ndarray。标签不需要是唯一的,但必须是一个可散列的类型。该对象支持基于整数和标签的索引,并提供了大量的方法来执行涉及索引的操作。
Pandas Series.shift()函数通过可选的时间频率,按所需的周期数转移索引。当没有传递freq时,转移索引而不重新调整数据。
语法: Series.shift(periods=1, freq=None, axis=0, fill_value=None)
参数:
periods :转移的周期数。可以是正数或负数。
freq : 从tseries模块或时间规则中使用的偏移量(例如,’EOM’)。
axis:转移方向。
fill_value : 用于新引入的缺失值的标量值
返回:输入对象的副本,已移位。
例子#1:使用Series.shift()函数将给定的Series对象的数据移动2个周期。
# importing pandas as pd
import pandas as pd
# Creating the Series
sr = pd.Series(['New York', 'Chicago', 'Toronto', 'Lisbon', 'Rio', 'Moscow'])
# Create the Datetime Index
didx = pd.DatetimeIndex(start ='2014-08-01 10:00', freq ='W',
periods = 6, tz = 'Europe/Berlin')
# set the index
sr.index = didx
# Print the series
print(sr)
输出 :
现在我们将使用Series.shift()函数将给定的系列对象中的数据移动2个周期。
# shift by 2 periods
sr.shift(periods = 2)
输出 :
正如我们在输出中看到的,Series.shift()函数已经成功地将数据移到了索引上。注意到对应于最后两个索引的数据已经被丢弃。
例子2:使用Series.shift()函数将给定的Series对象的数据移出-2个周期。
# importing pandas as pd
import pandas as pd
# Creating the Series
sr = pd.Series(['New York', 'Chicago', 'Toronto', 'Lisbon', 'Rio', 'Moscow'])
# Create the Datetime Index
didx = pd.DatetimeIndex(start ='2014-08-01 10:00', freq ='W',
periods = 6, tz = 'Europe/Berlin')
# set the index
sr.index = didx
# Print the series
print(sr)
输出 :
现在我们将使用Series.shift()函数,将给定的系列对象中的数据移出-2期。
# shift by -2 periods
sr.shift(periods = -2)
输出 :
正如我们在输出中看到的,Series.shift()函数已经成功地将数据移到了索引上。注意前两个索引的数据已经被丢掉了。