Подсчет количества заданного значения в столбцах Dataframe
Дан массив данных потенциальных клиентов. 17 столбцов (образование, работа, доход), в которых множество значений "unknown". Помогите пожалуйста создать код для подсчета и вывода количества значений "unknown" в каждом столбце, чтобы далее можно было оценить их значимость и поработать с очисткой.
Смог сделать только подсчет точечно по заданному столбцу (напр "education"), но если в столбце нет 'unknown' (напр "age") выдает ошибку.
X.education.value_counts()['unknown']
>>1857
X.education.value_counts()['age']
>>KeyError: 'age'
Пробовал создать цикл, но что-то не так
for i in range(0,len(X.columns)-1):
val_unknown=X[X.columns[i]].value_counts()['unknown']
print(X.columns[i], val_unknown)
>> KeyError: 'unknown'
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Всё довольно просто:
import pandas as pd
from random import choice
s = ['unknown'] + list('всякая другая ерунда')
df = pd.DataFrame([[choice(s) for _ in range(10)] for _ in range(100)])
df.columns = [f'col{c}' for c in df.columns]
# собственно подсчёт здесь, выше подготовка случайных данных для примера
print((df == 'unknown').sum())
Вывод:
col0 6
col1 3
col2 3
col3 3
col4 4
col5 5
col6 8
col7 3
col8 11
col9 6
dtype: int64