У меня есть фреймы данных для дампов каждые 10 минут в день. Пример
2019-08-28 06:00:13 SCHOOL_20190828...
2019-08-28 06:10:15 SCHOOL_20190828...
2019-08-28 06:20:14 SCHOOL_20190828...
2019-08-28 06:30:13 SCHOOL_20190828...
2019-08-28 06:40:15 SCHOOL_20190828...
... ...
2019-09-28 05:10:13 SCHOOL_20190928...
2019-09-28 05:20:13 SCHOOL_20190928...
2019-09-28 05:30:13 SCHOOL_20190928...
2019-09-28 05:40:14 SCHOOL_20190928...
2019-09-28 05:50:13 SCHOOL_20190928...
Каждый последующий фрейм данных имеет разницу примерно в 2 строки (если они происходят из одного и того же дня)
Я хочу прочитать первый фрейм данных за день (A),сравните его со следующим фреймом данных (B) и добавьте новые строки в мой фрейм данных A. Я хочу продолжить, пока не прочитаю все фреймы данных за этот день. Перейдите к следующему дню и сделайте то же самое. Затем я добавлю все выводы из разных дней.
Примеры фреймов данных
import pandas as pd
import dask.dataframe as dd
df_A = pd.DataFrame([{'a': 1, 'b': 2, 'c':3}, {'a':10, 'b': 20, 'c': 30},{'a':2,'b':4,'c':6}])
df_B = pd.DataFrame([{'a': 1, 'b': 2, 'c':3}, {'a':10, 'b': 20, 'c': 30},{'a':2,'b':4,'c':6},{'a':0,'b':12,'c':16}])
df_C = pd.DataFrame([{'a': 1, 'b': 2, 'c':3},{'a':21,'b':12,'c':9}])
df_A
Out[3]:
a b c
0 1 2 3
1 10 20 30
2 2 4 6
df_B
Out[8]:
a b c
0 1 2 3
1 10 20 30
2 2 4 6
3 0 12 16
df_C
Out[9]:
a b c
0 1 2 3
1 21 12 9
Я хочу, чтобы мой окончательный фрейм данных был
df
Out[10]:
a b c
0 1 2 3
1 10 20 30
2 2 4 6
3 0 12 16
4 21 12 9
Я хочу самый эффективный способ сделать этопоскольку фреймов данных довольно много (около 5000)
В настоящее время я просто читаю все дампы, используя dask и удаляя дубликаты.
ddf = dd.read_csv(path, storage_options=storage_opts, assume_missing=True).drop_duplicates().compute()