Pandas的滞后参数?

2024-04-24 08:07:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来熊猫的。我有一个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)

但我不知道如何定义频移的频率值!所以它会把我的数据移到我的第一个日期(2010年1月1日)之后一年


Tags: csv数据代码importpandasread排序as
1条回答
网友
1楼 · 发布于 2024-04-24 08:07:24
df['last_year'] = df['date'].apply(lambda x: x - pd.DateOffset(years=1))
df['new_value'] = df.loc[df['last_year'],:]

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

相关问题 更多 >