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

Некоторые люди имеют дело с отсутствующими значениями, удаляя строки или кортежи, в которых есть отсутствующие значения. Иногда удаляются целые столбцы.

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

Это можно понять следующим образом:

Хотя есть алгоритмы, которые могут точно предсказать недостающее значение. Но здесь, я объясняю, простая концепция для любого столбца, означающая функцию в пространстве данных.

Возьмите столбцы, а именно. функцию и определить пропущенное значение, среднее значение, медиану и моду. Заполните пропущенные значения наиболее удобным из них, я выбирал режим во многих случаях при вычислениях в модели глубокого обучения. Вот код и данные с отсутствующим значением:

На рисунке показан фрагмент недостающих данных:

Код для чтения файла с отсутствующими данными

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%

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

А пока найдите точность по всем параметрам, наполнителям, среднему значению, медиане, режиму и проверьте результаты.