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 ৮০ দিয়ে পূরণ হয়েছে।