2014-02-05 2 views
0

У меня есть файл csv, который я прочитал через pandas.DataFrame.from_csv.Диапазон дат фильтра за неделю месяца

Я хочу отфильтровать те строки, которые содержат третью пятницу месяца или месяцев в индексе даты или в одном из столбцов.

Я играл с dateutil и pandas.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') 

это будет дайте серию временных меток. Используя эту серию, вы можете отфильтровать фрейм данных, которые пришли из файла csv, используя описанные стратегии here. Надеюсь, это поможет.

+0

Это в значительной степени то, что я искал. Однако, – user3276418

+0

Это в значительной степени то, что я искал. Тем не менее, мне нужна третья суббота месяца, например WOM-3SAT. Я пробовал WOM-3SAT как date_range-frequency, но получил ошибку. Я пробовал через 3rdfriday_timestamps + pandas.tseries.offsets.Day (1), но снова получил ошибку. Не поддерживается ли эта частота? Есть ли альтернативы? И ... я не мог найти подробных документов, частота которых поддерживается в pandas.date_range, и я даже не знал о частоте r3d в пятницу. (Я новичок в Pandas) Есть ли хорошие документы? – user3276418

+0

@ user3276418 Если это помогает, и вы официально принимаете мой ответ, я могу использовать репутацию, спасибо! Он работает только в будние дни. Вот некоторая документация, которая может помочь вам обойти это, если вам нужен день в выходные: http://pandas.pydata.org/pandas-docs/stable/timeseries.html – simple

Смежные вопросы