Я пытаюсь вернуть все строки, в которых более n пропущенных значений, я хотел бы поместить их в новый фрейм данных

#python #dataframe

#python #dataframe

Вопрос:

Очевидно, что в новом фрейме данных будут столбцы, которые не содержат пропущенных значений.

 generic = df.iloc[df['Current Age'] == isnull()]
  

Этот код не работает, поскольку in=snull() не определен, но в основном я пытаюсь найти все столбцы, в которых более 6 пропущенных значений, и поместить их в новый фрейм данных, называемый generic

Комментарии:

1. пожалуйста, приведите пример данных и того, что вы пробовали.

2. Спасибо, что разместили свой вопрос здесь @Dan . Не могли бы вы поделиться более подробной информацией, такой как код, который вы используете, ожидаемый результат. Это позволяет пользователям быстро реагировать.

Ответ №1:

Хорошо, давайте представим, что у нас есть такой фрейм данных:

 import numpy as np
import pandas as pd
df = pd.DataFrame([1,2,3, np.nan, 5, 3, np.nan], columns = ['value'])
  

np.isnan() возвращает true, если параметр равен NaN, и когда вы фильтруете фрейм данных, он возвращает только строки, которые являются истинными в зависимости от вашего условия.

Итак, смотрите приведенный Ниже код:

 nanIndex = df[np.isnan(df['value'])].index.tolist() # Rows that contains NaN
newDF = df.drop(index = nanIndex) # Drop that rows, keep only non NaN rows
newDF.reset_index(drop = True, inplace = True) # Reset the index of the dataframe