У меня около 750 миллионов строк данных, которые необходимо преобразовать в сводную таблицу.
Мой подход состоял в том, чтобы прочитать данные размером в 5 миллионов, создать сводную таблицу, добавить результат в CSV-файл.файл, как показано в приведенном ниже коде
for chunk in df:
pivot = chunk.pivot_table(values='x',index=['y'],columns=['z'], fill_value=0).reset_index()
pivot.to_csv('mypivottable.csv', index=False, mode='a')
Проблема этого подхода заключается в том, что каждый блок данных в кадре данных имеет разное количество столбцов, а столбцы не упорядочены, поэтому при чтении файла mypivottable.csv«Я получаю сообщение об ошибке разбора из-за динамической природы столбцов.
У меня от 300 до 400 столбцов в каждом чанке, поэтому я не могу жестко закодировать имена столбцов.Ниже приведен пример того, как выглядит моя сводная таблица и как я бы хотел, чтобы она выглядела.
"A" "B" "C" "D" "E" "F"
1 1 2 1 2 1
2 1 2 2 1 1
.....
"A" "C" "D" "B" "G"
1 1 2 3 4
1 1 1 2 1
Нужная сводная таблица должна выглядеть следующим образом:
"A" "B" "C" "D" "E" "F" "G"
1 1 2 1 2 1 null
2 1 2 2 1 1 null
....
1 3 1 2 null null 4
1 2 1 1 null null 1
Как создатьсводная таблица, которая может быть прочитана пандами read_csv
без получения ошибки разбора из-за несовместимых заголовков?