У меня есть два больших файла CSV, которые загружаются как итераторы, используя pd.read_csv
.Файлы настолько большие, что не помещаются в памяти:
df1 = pd.read_csv('file1.csv', chunksize=5000000, iterator=True)
df2 = pd.read_csv('file2.csv', chunksize=5000000, iterator=True)
Содержимое файлов выглядит примерно так:
df1
Id val1 val2 val3
1 0.5 0.45 0.13
2 0.11 0.18 0.20
df2
Id val1 val2 val3
1 0.4 0.5 0.20
2 0.13 0.30 0.22
Столбец Id
имеет одинаковые значения для обоих файлов.То же самое верно для имен столбцов.То, что я хочу сделать, это взять элементарное среднее значение в столбцах val
и поместить их в другой CSV с таким же столбцом Id.
Итак, результат для этого будет выглядеть примерно так:
Id val1 val2 val3
1 0.45 0.475 0.165
2 0.12 0.24 0.21
Есть какие-нибудь мысли о том, как это сделать?read_csv
будет правильным подходом или я должен использовать что-то вроде dask
?Я думал об одновременной итерации итераторов и использовании средств чанков, а затем добавлял их в другой файл csv, но я не уверен, возможно ли это на самом деле с такими вещами, как для циклов