Я пытаюсь создать набор данных для машинного обучения, основанный на сочетании качественных и количественных данных, которые я хранил в CSV-файле с 4,4 миллионами экземпляров. Я в основном использую get_dummies для качественных столбцов и объединяю их вместе с неизмененными количественными столбцами в более крупный кадр данных, который затем записываю в CSV-файл. Единственная проблема заключается в том, что когда я записываю новый фрейм данных в файл csv, он слишком велик, чтобы его можно было прочитать. Однако, исходя из размера файла, я бы предположил более 35 миллионов экземпляров. Я проверил размеры отдельных «столбцов», которые я объединил, и все они имеют длину 4,4 миллиона экземпляров и ширину не более 14 категорий. Даже конечный фрейм данных, который я записываю в csv, имеет длину всего 4,4 миллиона и ширину 400 категорий, но когда я записываю его в файл CSV, файл имеет длину более 35 миллионов. Кто-нибудь знает, почему это происходит?
for name in list(df_data.columns):
df_class = df_data[[name]]
# handles quantitative
if type(df_class.values[0][0]) == type(foo_int) or type(df_class.values[0][0]) == type(foo_float):
df_new = pd.concat([df_new, df_class], axis=1, sort=False)
print('Done with ' + name)
print(df_class.shape)
# handles qualitative
elif type(df_class.values[0][0]) == type(foo_str):
df_class = pd.get_dummies(df_class)
df_new = pd.concat([df_new, df_class], axis=1, sort=False)
print('Done with ' + name)
print(df_class.shape)