Построение очень медленного графика на наборе данных из 300 тысяч строк

#python-3.x #pandas #matplotlib #seaborn

Вопрос:

Я выполняю EDA для набора данных из 320 тысяч строк, 30 столбцов.

Я хотел бы отобразить распределение переменных, поэтому я пробую такие базовые вещи, как

`

 for col in df.select_dtypes("object"):
    plt.figure()
    df[col].value_counts().plot.pie(autopct='%1.1f%%')
    plt.show()
 

`

Мой сотовый jupyter работает уже 10 минут… 300 Тысяч-это «слишком много» ? Поможет ли использование графического процессора ? Я заметил, что на Colab это тоже очень медленно…

Я тоже пытался sns.pairplot(df) , но отменил через 20 минут…

Я делаю что-то не так ?

Спасибо за вашу помощь, ребята

Комментарии:

1. сколько уникальных значений имеется для каждого столбца? Можете ли вы print(col) определить, является ли какой-либо конкретный столбец узким местом во время итерации?

2. 300 ТЫСЯЧ строк-это не так уж много. Все зависит от того, как распределяются данные. Однако иметь 1000 срезов на круговой диаграмме было бы многовато. Парный план с морским рожком с подзаголовками 30х30 был бы слишком большим.

3. Вы правы, некоторые колонки замедляют процесс. Я дурак, тхо.. Пирог из 320 тысяч URL-это просто … тупой

Ответ №1:

Вместо построения графиков значений, вы можете начать с просмотра показателей, приведенных df[col].describe() для каждого столбца. Это позволит получить гораздо более быстрый и полный обзор ваших данных.

Затем, если вам нужен визуальный обзор, конечно, это зависит от ваших данных и того, что вы пытаетесь понять, но вы захотите начать с визуализаций, которые начинаются с агрегирования данных каким-либо образом. Подумайте об оценке плотности ядра по гистограмме, возможно, о графике гексбина по диаграмме рассеяния.

Мои два цента на данный момент отредактируют, если что-то еще придет в голову или если вы сможете рассказать немного подробнее о том, на что вы смотрите и что вы хотите с этим сделать.

Комментарии:

1. не было бы более полезно сначала попытаться очистить данные ? Потому что таблица описания() довольно большая, и я вижу, что многие столбцы на 90% состоят из Nan.. Кстати, могу я спросить, выше какого процента значений NaN вы бы сочли clomun «бесполезным» ?