Python 熊猫得到以前日期的索引
我有一个带有日期列的dataframe,我想在dataframe中添加一个带有上一个日期索引的新列。如何做到这一点? 样本df:Python 熊猫得到以前日期的索引,python,pandas,datetime,dataframe,Python,Pandas,Datetime,Dataframe,我有一个带有日期列的dataframe,我想在dataframe中添加一个带有上一个日期索引的新列。如何做到这一点? 样本df: index Date 0 2015-10-03 1 2015-11-03 2 2015-11-30 3 2015-11-30 4 2015-12-03 期望输出: index Date previous_day 0 2015-10-03 0 1 2015-11-03 0 2 2015-11-30 1 3 2015-11-30 1 4 2015-12-0
index Date
0 2015-10-03
1 2015-11-03
2 2015-11-30
3 2015-11-30
4 2015-12-03
期望输出:
index Date previous_day
0 2015-10-03 0
1 2015-11-03 0
2 2015-11-30 1
3 2015-11-30 1
4 2015-12-03 3
谢谢,我认为您需要将
重复的日期列的值的索引
替换到NaN
,然后转发填充这些值。还需要将索引的第一个值重命名为1
,最后一个值减去1
:
注意:解决方案仅在唯一单调索引(0,1,2,…
)时有效
索引2的日期与索引3的日期不同@harshil9968索引2(2015-11-30)的日期与索引3(2015-11-30)的日期相同是的,工作正常,我通过df.reset_index(drop=True,inplace=True)确保唯一单调索引
Super,这是一个非常好的主意;)
#see notice above
df.reset_index(drop = True, inplace = True)
df['prev'] = df.rename(index={0:1})
.index.to_series()
.where(~df['Date'].duplicated()).ffill()
.astype(int)
.sub(1).values
print (df)
Date prev
index
0 2015-10-03 0
1 2015-11-03 0
2 2015-11-30 1
3 2015-11-30 1
4 2015-12-03 3