Извлекать похожие даты из нескольких панелей данных - PullRequest
0 голосов
/ 29 марта 2019

Мои 500 фреймов данных выглядят следующим образом: это день на основе данных за 2 года.

  1. Дата |Столбец А |Колонка B
  2. 2017-04-04
  3. 2017-04-05
  4. 2017-04-06
  5. 2017-04-07
  6. ....
  7. 2017-04-02
  8. ...
  9. 2019-02-01
  10. 2019-02-11
  11. 2019-02-22
  12. 2019-02-27
  13. 2019-03-01
  14. 2019-04-01
  15. 2019-05-01

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

Цель состоит в том, чтобы отфильтровать общие метки времени во всех моих 500 фреймах данных и создать подмножество новых 500 фреймов данных только с обычными временными метками.

1 Ответ

0 голосов
/ 29 марта 2019

Если вы можете сохранить все 500 в памяти одновременно, то полезно хранить их в словаре.Затем вы можете найти пересечение всех дат, а затем сохранить подмножества:

import pandas as pd
from functools import reduce

d = dict((file, pd.read_csv(file)) for file in [your_list_of_files])

date_com = reduce(lambda l,r: l & r [set(df.Date) for _,df in d.items()])

for file,df in d.items():
    df[df.Date.isin(date_com)].to_csv(f'adjusted_{file}')
...