Python: разделить большую серию на меньшую серию

Я новичок в python и у меня есть простой вопрос, но нигде не могу найти ответ. У меня есть ряд данных со столбцами [даты, MKT, SMB, HML]. Рядов много - даты идут с 01.01.1926 по 01.10.2014.

Я хочу создать новую серию со строками с 01.01.2013 по 01.01.2014, как мне это сделать?

Спасибо!


person user3783846    schedule 05.10.2014    source источник
comment
Извините, вы имеете в виду, что у вас есть фрейм данных с этими столбцами, и вы просто хотите отфильтровать строки только для тех, которые удовлетворяют этим критериям? Следующее должно работать df[(df['dates']>= '01/01/2013') & (df['dates']<= '01/01/2014)]   -  person EdChum    schedule 05.10.2014
comment
Мой фрейм данных не распознавал мой индекс «дат», но в итоге я решил его, используя df.loc[01012013:01012014]. Спасибо за помощь:)   -  person user3783846    schedule 07.10.2014
comment
Пожалуйста, опубликуйте как ответ и примите его самостоятельно, чтобы этот вопрос был помечен как ответ, было бы полезно опубликовать больше кода и данных, чтобы прояснить вопрос, рад, что смог помочь   -  person EdChum    schedule 07.10.2014


Ответы (1)


У меня был этот кадр данных:

ff = pd.DataFrame(DataReader("F-F_Research_Data_Factors_daily", "famafrench")[0])
ff.columns = ['Mkt_rf', 'SMB', 'HML', 'rf']

Я хотел взять только строки с датами с 2014.07.14 по 2014.07.24. Я сделал это, используя индекс loc в pandas:

ff2 = ff.loc[20140714:20140724]
person user3783846    schedule 07.10.2014