Заменить значения NaN нулями в кадре данных Pandas

Опубликовано: 27 Марта, 2022

NaN расшифровывается как Not A Number и является одним из распространенных способов представления отсутствующего значения в данных. Это специальное значение с плавающей запятой, и его нельзя преобразовать ни в какой другой тип, кроме float. Значение NaN - одна из основных проблем анализа данных. Очень важно иметь дело с NaN, чтобы получить желаемые результаты.

Methods to replace NaN values with zeros in Pandas DataFrame:

  • fillna()
    The fillna() function is used to fill NA/NaN values using the specified method.

  • replace()
    The dataframe.replace() function in Pandas can be defined as a simple method used to replace a string, regex, list, dictionary etc. in a DataFrame.

Шаги по замене значений NaN:

  • Для одного столбца с использованием панд:
     df ['столбец DataFrame'] = df ['столбец DataFrame']. fillna (0)
    
  • Для одного столбца с использованием numpy:
     df ['столбец DataFrame'] = df ['столбец DataFrame']. replace (np.nan, 0)
    
  • Для всего DataFrame с использованием панд:
     df.fillna (0)
    
  • Для всего DataFrame с использованием numpy:
     df.replace (np.nan, 0)
    

Метод 1. Использование функции fillna () для одного столбца

Example:

# importing libraries
import pandas as pd
import numpy as np
  
nums = {"Set_of_Numbers": [2, 3, 5, 7, 11, 13
                           np.nan, 19, 23, np.nan]}
  
# Create the dataframe
df = pd.DataFrame(nums, columns =["Set_of_Numbers"])
  
# Apply the function
df["Set_of_Numbers"] = df["Set_of_Numbers"].fillna(0)
  
# print the DataFrame
df

Выход:

Метод 2: использование функции replace () для одного столбца

Example:

# importing libraries
import pandas as pd
import numpy as np
  
nums = {"Car Model Number": [223, np.nan, 237, 195, np.nan,
                             575, 110, 313, np.nan, 190, 143
                             np.nan],
       "Engine Number": [4511, np.nan, 7570, 1565, 1450, 3786
                         2995, 5345, 7777, 2323, 2785, 1120]}
  
# Create the dataframe
df = pd.DataFrame(nums, columns =["Car Model Number"])
  
# Apply the function
df["Car Model Number"] = df["Car Model Number"].replace(np.nan, 0)
  
# print the DataFrame
df

Выход:

Метод 3: использование функции fillna () для всего фрейма данных

Пример:

Выход:

Метод 4: использование функции replace () для всего фрейма данных

Example:

# importing libraries
import pandas as pd
import numpy as np
  
nums = {"Student Name": [ "Shrek", "Shivansh", "Ishdeep",  
                         "Siddharth", "Nakul", "Prakhar",
                         "Yash", "Srikar", "Kaustubh"
                         "Aditya""Manav", "Dubey"],
        "Roll No.": [ 18229, 18232, np.nan, 18247, 18136
                     np.nan, 18283, 18310, 18102, 18012,
                     18121, 18168],
        "Subject ID": [204, np.nan, 201, 105, np.nan, 204,
                       101, 101, np.nan, 165, 715, np.nan],
       "Grade Point": [9, np.nan, 7, np.nan, 8, 7, 9, 10,
                       np.nan, 9, 6, 8]}
  
# Create the dataframe
df = pd.DataFrame(nums)
  
# Apply the function
df = df.replace(np.nan, 0)
  
# print the DataFrame
df

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.