Как найти процент «пустых» значений по столбцам - PullRequest
0 голосов
/ 07 сентября 2018

Я написал этот фрагмент, чтобы выяснить, какой процент каждого столбца содержит empty значений.

Когда я делаю это для одного столбца , он работает так, где DESCRIPTION - это столбец в действии.

for ind, column in enumerate(df.columns[0:]):
    tmp = df.columns[ind]
    print(ind, df.columns[ind], ((df[df['DESCRIPTION'] == 'empty'].shape[0])/(df.shape[0]))*100)

хотя при попытке перечислить одно и то же для всех столбцов это не работает. Я объявил @tmp как переменную для имен столбцов.

for ind, column in enumerate(df.columns[0:]):
    tmp = df.columns[ind]
    print(ind, df.columns[ind], ((df[df[@tmp] == 'empty'].shape[0])/(df.shape[0]))*100)

Пожалуйста, помогите !!

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Самый простой:

import pandas as pd
df=pd.DataFrame({'a':[1,2,'empty'],'b':['empty','empty',3]})
print(('%d'%(([x for i in df.values.tolist() for x in i].count('empty')/len([x for i in df.values.tolist() for x in i]))*100))+'%')

Выход:

50%
0 голосов
/ 07 сентября 2018
for col in df.columns.tolist():
    print(col, df[col], df[col][df[col] == 'empty'].shape[0] / df[col].shape[0]*100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...