Я хочу использовать https://github.com/datamade/dedupe для дедупликации некоторых записей в python. Глядя на их примерыPython debuplicate records - dedupe
data_d = {}
for row in data:
clean_row = [(k, preProcess(v)) for (k, v) in row.items()]
row_id = int(row['id'])
data_d[row_id] = dict(clean_row)
Словарь потребляет довольно много памяти по сравнению с, например, словарь, созданный pandas из pd.Datafrmae, или даже обычный pd.Dataframe.
Если этот формат не требуется, как можно эффективно преобразовать pd.Dataframe в такой словарь?
редактировать
Пример того, что панды генерирует
{'column1': {0: 1389225600000000000,
1: 1388707200000000000,
2: 1388707200000000000,
3: 1389657600000000000,....
Пример того, что дедупликации ожидает
{'1': {column1: 1389225600000000000, column2: "ddd"},
'2': {column1: 1111, column2: "ddd} ...}
Вы можете преобразовать Pandas Dataframe в словарь с помощью 'DataFrame.to_dict()', это то, что вы ищете? –
Действительно, но это Column> Index> Value, и они, похоже, требуют Index> Column> Value, который перегенерирует ключ столбца для каждой записи. –
Я думаю, что это принесет пользу из примера с данными. – chthonicdaemon