Как удалить столбец фрейма данных, который содержит хотя бы один отсутствующий элемент - PullRequest
0 голосов
/ 20 октября 2018

Я моделирую фрейм данных следующим образом:

import pandas as pd
import numpy as np

# Create Missing Values in DataFrame
df = pd.DataFrame(np.random.randn(5,5))
df[df > 0.9] = pd.np.nan
df.columns = ['A', 'B','C','D','E']
df

, которому я дал имя столбца как A, B, C, D, E. У меня есть этот код Python для удаления строк, которые содержат хотя бы одинпропущенное значение через pandas выглядит следующим образом: "

df.loc[(~pd.isnull(df['A']))&\
   (~pd.isnull(df['B']))&\
   (~pd.isnull(df['C']))&\
   (~pd.isnull(df['D']))&\
   (~pd.isnull(df['E']))]

Как можно добиться удаления столбца (ов) вместо строки (строк), которые содержат хотя бы одно пропущенное значение в любой из своих строк, а также в определенной строке?

Ответы [ 4 ]

0 голосов
/ 21 октября 2018

Вы можете использовать dropna при указании axis:

df = df.dropna(axis='columns', how='any')

По умолчанию для how установлено 'any', но вы можете быть явным.

0 голосов
/ 21 октября 2018

Вы можете использовать isnull() и drop:

for i in df.columns:
    if df[i].isnull().count() > 0:
        df = df.drop(i, axis=1)
0 голосов
/ 21 октября 2018

Рассмотрим логический выбор

df.loc[:, ~df.isnull().any(axis=0)]
0 голосов
/ 20 октября 2018

Используйте df.dropna() для удаления строк / столбцов, содержащих NaN.Читать дальше https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...