#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?