Я работаю над своим первым корреляционным анализом. Я получил данные через файл Excel, я импортировал их как Dataframe (пришлось их развернуть), и теперь у меня есть набор из почти 3000 строк и 25000 столбцов. Я не могу выбрать из него подмножество, так как каждый столбец важен для этого проекта, и я также не знаю, какую информацию хранит каждый столбец, чтобы выбрать наиболее интересные, потому что он закодирован целыми числами (это университетский проект). Это похоже на большую анкету, где у каждого человека есть свой ряд, а ответы на каждый вопрос хранятся в отдельной колонке.
Мне действительно нужно решить эту проблему, потому что позже мне придется заменить многие наны медианами столбцов, а затем начать корреляционный анализ. Сначала я попробовал эту часть, но она не пошла из-за размера, поэтому я попытался сначала унизить
Набор данных имеет 600 МБ, и я использовал инструкцию по уменьшению для чисел с плавающей запятой и сохранил 300 МБ, но когда я пытаюсь заменить новые столбцы в копии моего набора данных, он работает в течение 30 минут и ничего не делает. Никаких предупреждений, никаких ошибок, пока я не прерву ядро, и оно все еще не дает мне намека на то, почему оно не работает.
Сначала я не могу использовать инструкцию удаления Nans, потому что их так много, что она сотрет практически все.
#i've got this code from https://www.dataquest.io/blog/pandas-big-data/
def mem_usage(pandas_obj):
if isinstance(pandas_obj,pd.DataFrame):
usage_b = pandas_obj.memory_usage(deep=True).sum()
else: # we assume if not a df it's a series
usage_b = pandas_obj.memory_usage(deep=True)
usage_mb = usage_b / 1024 ** 2 # convert bytes to megabytes
return "{:03.2f} MB".format(usage_mb)
gl_float = myset.select_dtypes(include=['float'])
converted_float = gl_float.apply(pd.to_numeric,downcast='float')
print(mem_usage(gl_float)) #almost 600
print(mem_usage(converted_float)) #almost 300
optimized_gl = myset.copy()
optimized_gl[converted_float.columns]= converted_float #this doesn't end
после работ по замене я хочу использовать функцию Imputer для замены Nans и распечатать результат корреляции для моего набора данных