Обработка пропущенных значений в данных имеет решающее значение. Возникают вопросы, как с этим справиться, учитывая пустое, нулевое или большое положительное и большое отрицательное значение, с которыми не так просто справиться. Как потом использовать эти значения, как после этого обрабатывать данные.
Некоторые люди имеют дело с отсутствующими значениями, удаляя строки или кортежи, в которых есть отсутствующие значения. Иногда удаляются целые столбцы.
Вот несколько основных шагов для использования данных с отсутствующим значением. Несмотря на заполнение пропущенного значения, для этого существует множество алгоритмов. Но мы займемся этим позже, прямо сейчас мы обнаружим пропущенные значения и присвоим им высокое отрицательное число и заполним пропущенные значения на основе среднего и медианы этого столбца данных.
Это можно понять следующим образом:
Хотя есть алгоритмы, которые могут точно предсказать недостающее значение. Но здесь, я объясняю, простая концепция для любого столбца, означающая функцию в пространстве данных.
Возьмите столбцы, а именно. функцию и определить пропущенное значение, среднее значение, медиану и моду. Заполните пропущенные значения наиболее удобным из них, я выбирал режим во многих случаях при вычислениях в модели глубокого обучения. Вот код и данные с отсутствующим значением:
На рисунке показан фрагмент недостающих данных:
Код для чтения файла с отсутствующими данными
import pandas as pd df = pd.read_excel(‘/content/sample_data.xlsx’) print(df)
В этих данных ставится очень большое отрицательное значение там, где данные отсутствовали. Для отображения отсутствующего значения также могло использоваться большее отрицательное значение. Поскольку мы не используем эти записи, достаточно -999,9. Мы просто заполняем его, чтобы его можно было легко обнаружить по шагам.
График данных:
df[‘3A’].plot()
Это результат:
Код, чтобы найти среднее значение, медиану и моду из столбца, а именно. функция 3А здесь,
df_column = df['3A'] columns = ['3A'] print("Min:", np.min(df_column)) print("Max:", np.max(df_column)) newlist = [] j = 0 for i in range(len(df_column )): if df_column[i] != -999.9: newlist.append((df_column[i])) j += 1 print("Min newlist:", np.min(newlist)) print("Max newlist:", np.max(newlist)) print("Mean newlist:", np.mean(newlist)) print("Median newlist:", np.median(newlist)) mean_val = np.mean(newlist) #replacing the null values with mean values newdf = pd.DataFrame (newlist, columns = columns) edited_data_column = [] j = 0 for i in range(len(df_column )): if df_column[i] != -999.9: edited_data_column.append((df_column[i])) else: edited_data_column.append(mean_val) j += 1 df_filter['3A'] = pd.DataFrame (edited_data_column, columns = columns)
Таким образом, код считывает столбец 3A из данных, первый столбец, вычисляет среднее значение, минимум, максимум, медиану и режим этого столбца. Список составляется с отсутствующими значениями, представленными в виде больших отрицательных чисел, замененных средним значением. Вы также должны попробовать медиану и моду, чтобы проверить точность системы.
Вот вывод системы
Позже этот столбец добавляется в новый фрейм данных.
Затем мы строим график и видим распределение данных
df_filter['3A'].plot()
Вот вывод сюжета:
Таким образом, все нулевые или отсутствующие значения заполнены. Давайте найдем ненулевые значения в данных:
Процент ненулевых значений: 35,7142%
Опять же, для этого существует множество методов. Я предлагаю базовый способ быстрого сканирования данных, чтобы эти данные можно было использовать для быстрого анализа или построения модели. Это может быть выполнено для оценки, а затем можно использовать более сложные методы для заполнения недостающих данных.
А пока найдите точность по всем параметрам, наполнителям, среднему значению, медиане, режиму и проверьте результаты.