2014-02-05 155 views
0

我有一個csv文件,我通過pandas.DataFrame.from_csv閱讀。本月過濾日期範圍

我想過濾那些包含某個月的第三個星期五或日期索引或其中一列中的任何月份的那些行。

我玩過dateutilpandas.datetools.WeekOfMonth(week=2,weekday=4) 但仍然搞不明白。

+0

你可以發佈你的csv的示例數據嗎? –

回答

0

你的csv文件的一個例子將幫助我們回答你的問題。我假設你正在使用時間戳,這是真的嗎?

您可以通過將時間戳列表嘗試過濾(開始和結束日期,這裏是任意的,並在CSV文件可能會來作爲第一個和最後一個行):

start_date='1/1/2010' 
finish_date='10/1/2010' 

third_friday_timestamps = pd.date_range(start_date,finish_date, freq='WOM-3FRI') 

這將給出一系列時間戳。使用本系列,您可以使用解釋爲here的策略過濾來自csv文件的數據幀。我希望這有幫助。

+0

這幾乎是我在找的東西。不過, – user3276418

+0

這幾乎是我在找的東西。但是,我需要本月的第三個星期六,如WOM-3SAT。我嘗試了WOM-3SAT作爲日期範圍頻率,但遇到了錯誤。我嘗試通過3rdfriday_timestamps + pandas.tseries.offsets.Day(1),但又得到一個錯誤。該頻率是否不受支持?有沒有其他的選擇?而且 - 我找不到在pandas.date_range中支持哪些頻率的詳細文檔,我甚至沒有意識到r3d星期五的頻率。 (我對熊貓很陌生)有沒有好的文檔? – user3276418

+0

@ user3276418如果這有助於你正式接受我的答案,我可以使用聲譽,謝謝!它只適用於工作日。如果你需要在週末度過一天,以下是一些可能有助於解決問題的文檔:http://pandas.pydata.org/pandas-docs/stable/timeseries.html – simple