熊猫的参数落后?

时间:2017-09-23 00:10:48

标签: python pandas parameters

我是熊猫的新手。我有一个TTI的数据框,按照一天中的小时排序多年。我想添加一个新列,显示去年每个值的tti值。我写了这段代码:

import pandas as pd
tti = pd.read_csv("c:\\users\\Mehrdad\\desktop\\Hourly_TTI.csv")
tti['new_date'] = pd.to_datetime(tti['Date'])
tti['last_year'] = tti['TTI'].shift(1,freq='1-Jan-2009')
print tti.head(10)

但我不知道如何为shift定义频率值!因此,我的数据将在我的第一个日期(01-01-2010)之后移动一年。!?

1 个答案:

答案 0 :(得分:0)

df['last_year'] = df['date'].apply(lambda x: x - pd.DateOffset(years=1))
df['new_value'] = df.loc[df['last_year'],:]

df.shift只能按固定距离移动。 使用offset创建新的日期时间索引并使用新索引检索值。请注意截断第一年的日期。