Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
447 views
in Technique[技术] by (71.8m points)

python - Extracting the data frame of last 30 days from the last available date in the data frame

I see that finding the last 30 days of the dataframe by

import datetime
days30=df[df.Date > datetime.datetime.now() - pd.to_timedelta("30day")]

This gives last 30 days considering today's date. But I am interested in getting the last 30 days that is available in the dataframe. So tried this method

lastdayfrom = df['Date'].max()
days30 = df.loc[lastdayfrom - pd.Timedelta(days=30):lastdayfrom].reset_index()

This threw error message -TypeError: '<' not supported between instances of 'int' and 'Timestamp' How do I get the last date to use in filtering the last available date with out making date as index if possible?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
lastdayfrom = df['Date'].max()
critDate = lastdayfrom - pd.Timedelta(days=30)
days30 = df.loc[df.Date > critDate]

should work


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...