Фрейм данных Python Pandas находит пропущенные значения

#pandas #dataframe #plot #na #missing-data

#python #pandas #фрейм данных #Найти #отсутствует-данные

Вопрос:

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

Извлеченный фрейм данных:

Извлеченный фрейм данных

В df для 1981 и 1982 годов это должно быть ‘-‘, то есть пропущенные значения. Я хотел бы найти недостающие значения, а затем удалить недостающие значения.

Экспортированный фрейм данных с использованием isnull:
введите описание изображения здесь

Я использовал df.isnull(), но в 1981 и 1982 годах он был обнаружен как «False», что означает, что данные есть. Но это должно быть ‘-‘, поэтому считается пропущенными значениями.

Я вставил свой код ниже. Что я упускаю?

 import pandas as pd

mydf = pd.read_excel('abc.xlsx', sep='t')

df1 = mydf.set_index('Variables')
df = df1[0:10]
print(df)
print(df.isnull())
 

Ответ №1:

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

Чтобы найти пропущенные значения в фрейме данных df

 missing = df.isnull().sum()
print(missing)
 

Чтобы удалить эти пропущенные значения, помимо соображений @jezrael, если это не поможет, я предлагаю вам использовать dropna :

Удалите строки, в которых отсутствуют все элементы.

 df.dropna(how='all')
 

Удалите столбцы, в которых отсутствует хотя бы один элемент.

 df.dropna(axis='columns')
 

Ответ №2:

Пропущенных значений нет - .

Поэтому для пропущенных значений используйте na_values параметр in read_excel для преобразования - в пропущенные значения NaN s:

 mydf = pd.read_excel('abc.xlsx', sep='t', na_values='-')
 

na_values : скалярный, str, похожий на список или dict, по умолчанию нет

Дополнительные строки для распознавания как NA / NaN. Если dict передан, конкретные значения NA для каждого столбца. По умолчанию следующие значения интерпретируются как NaN: «, ‘#N / A’, ‘#N / A N / A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N / A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n / a’, ‘nan’, ‘null’.

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

1. о, спасибо! Действительно, это помогает. Могу ли я узнать, считается ли ‘0’ NA? или какие значения считаются NA?