Есть ли лучший способ получить метки в виде списка тех объектов (столбцов) с не пропущенными значениями во фрейме данных? - PullRequest
0 голосов
/ 28 июня 2018

Я играю с некоторым набором данных из kaggle . Я хотел бы получить все метки столбцов (функции) в виде списка этих функций с не пропущенными значениями

. Я сделал это (я так думаю), но мне интересно, есть ли лучший способ сделать это. Вот мой код, результат - это список функций, в которых нет ни одного пропущенного значения:

    import matplotlib as plt
    data = pd.read_csv(r'C:\Users\.kaggle\house-prices\train.csv')
    result = data.isnull().sum(axis=0)[data.isnull().sum(axis=0) == 
    0].index.tolist()

Например, если я запускаю следующий код:

    d = { 'Feature 1': [None, 1, 2, None ], 'Feature 2': [4, 5, 5, 6], 
    'Feature 3': [7, 7, 8, 9 ]}
    df = pd.DataFrame(data = d)
    print(df
    print(df.isnull().sum(axis=0)[df.isnull().sum(axis=0) == 
    0].index.tolist())

Я получу следующий результат:

       Feature 1  Feature 2  Feature 3
    0        NaN          4          7
    1        1.0          5          7
    2        2.0          5          8
    3        NaN          6          9

    ['Feature 2', 'Feature 3']

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

notnull + all

df.notnull().all().loc[lambda x : x].index.tolist()
Out[449]: ['Feature 2', 'Feature 3']
0 голосов
/ 28 июня 2018

Используйте dropna и конвертируйте имена столбцов в list:

print (df.dropna(axis=1).columns.tolist())
['Feature 2', 'Feature 3']

Деталь

print (df.dropna(axis=1))
   Feature 2  Feature 3
0          4          7
1          5          7
2          5          8
3          6          9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...