কম্পিউটার টিউটোরিয়াল

পাইথন প্যান্ডাস - মিসিং কলাম মান মোড (Mode) দিয়ে পূরণ করা

DataFrame-এ মিসিং মান (NaN) মোড (সবচেয়ে বেশি বারের মান) দিয়ে পূরণ করতে fillna() মেথডে কলামের mode()[0] ব্যবহার করা হয়। mode() সিরিজ রিটার্ন করে, তাই [0] দিয়ে প্রথম মান নেওয়া হয়।

প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন

import pandas as pd
import numpy as np

NaN সহ DataFrame তৈরি করুন

dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],
    "Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
})

মোড দিয়ে NaN পূরণ করুন

dataFrame.fillna(dataFrame['Units'].mode()[0], inplace=True)

সম্পূর্ণ উদাহরণ

import pandas as pd
import numpy as np

# Create DataFrame
dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],
    "Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
})
print("DataFrame ...\n", dataFrame)

# finding mode of the column values with NaN i.e, for Units columns here
# Replace NaNs with the mode of the column where it is located
dataFrame.fillna(dataFrame['Units'].mode()[0], inplace=True)
print("\nUpdated Dataframe after filling NaN values with mode...\n", dataFrame)

আউটপুট

DataFrame ...
       Car   Units
0      BMW  100.0
1    Lexus  150.0
2    Lexus    NaN
3  Mustang   80.0
4  Bentley    NaN
5  Mustang    NaN

Updated Dataframe after filling NaN values with mode...
       Car  Units
0      BMW  100.0
1    Lexus  150.0
2    Lexus   80.0
3  Mustang   80.0
4  Bentley   80.0
5  Mustang   80.0

ব্যাখ্যা: Units কলামের নন-নাল ভ্যালু: [100, 150, 80]। সব মান একবার করে আসছে (নো মোড)। প্যান্ডাস mode() এ কেসে সব মান রিটার্ন করে (সর্টেড: 80, 100, 150)। [0] নিলে ৮০ মiladi। তাই সব NaN ৮০ দিয়ে পূরণ হয়েছে।

  1. পাইথন পান্ডাসে fillna(0) ব্যবহার করে ডেটাফ্রেমের সব NaN মান ০ দিয়ে প্রতিস্থাপন করা

  2. পান্ডাস ডেটাফ্রেমের একক কলাম থেকে ইউনিক মান বের করা

  3. কমন কলাম দিয়ে মার্জ করুন এবং অমিলিত মানের জন্য NaN সেট করুন

  4. পান্ডাসে interpolate() দিয়ে NaN মান পূরণ করা