Как в датафрейме найти столбец с наибольшим числом Nan значений и вывести его индекс и количество таких значений
Работаю с большим csv файлом с помощью pandas. df.isnull().sum() выводит все столбцы, а как определить тот, где больше всего пропущенных значений?
Ответы (2 шт):
Автор решения: Константин Николаевич Бояр II
→ Ссылка
Есть идея в том что бы пройтись по каждому столбцу, забрать все значения Nan, и присвоить финальное значения для каждого итератора столбца, наполняя ими список, а после вывести максимальное значение списка, например как вариант:
def nan(file_name):
n_Max = #Ваше количество стобцов
n = 1
i = 0
max_equal = []
with open(file_name, encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile, delimiter = ',')
for row in reader:
if row[f'Row{n}'] == 'Nan': #Цикл проходится по таблице и забирает нужное значение в стобце row[n], ваше имя стобца должно совпадать с именем в таблице
row[f'Row{n}'] = i + 1
else:
continue
max_equal.append(row[f'Row{n}'])
n = n + 1
print(max(max_equal))
nan('file_name.csv')
Автор решения: inquirer
→ Ссылка
df.isnull().sum().idxmax()
Название столбца с максимальным количеством пропущенных значений
df.isnull().sum().max()
Вывод значения максимума в столбце