2016-10-22 4 views
1

私は毎日更新する日付列を持つデータフレームを持っています。過去30日分のデータでそのコピーを作成したいと思います。過去のx日間のpandasデータフレームのフィルタ

私はRで、このことについて知っていることに基づいて、次の構文を試してみました:

df[df[date]>dt.date.today()-30] 

日付列がインデックスではありませんが、私はそれは場合に役立ちますので、それを作ることに反対していませんよ!

ありがとうございます!

答えて

1

これを試してみてください:

import datetime 
import pandas as pd 


df[df.the_date_column.dt.date > datetime.datetime.now() - pd.to_timedelta("30day")] 
+1

のように、最後の30日間をスライスすることができますdf

today = pd.datetime.today().date() begin = today - pd.offsets.Day(90) tidx = pd.date_range(begin, today) df = pd.DataFrame(dict(A=np.arange(len(tidx))), tidx) 

を検討してください。私がしなければならなかったわずかな調整は 'df [df.the_date_column] datetime.datetime.now() - pd.to_timedelta(" 30day ")]' – Josh

0

は、あなたが美しいこの

cut_off = today - pd.offsets.Day(29) 
df[cut_off:] 

      A 
2016-09-23 61 
2016-09-24 62 
2016-09-25 63 
2016-09-26 64 
2016-09-27 65 
2016-09-28 66 
2016-09-29 67 
2016-09-30 68 
2016-10-01 69 
2016-10-02 70 
2016-10-03 71 
2016-10-04 72 
2016-10-05 73 
2016-10-06 74 
2016-10-07 75 
2016-10-08 76 
2016-10-09 77 
2016-10-10 78 
2016-10-11 79 
2016-10-12 80 
2016-10-13 81 
2016-10-14 82 
2016-10-15 83 
2016-10-16 84 
2016-10-17 85 
2016-10-18 86 
2016-10-19 87 
2016-10-20 88 
2016-10-21 89 
2016-10-22 90 
関連する問題