সমস্যা বিবরণ
একটি সিরিজ দেওয়া আছে যাতে কিছু NaN (missing value) আছে। লক্ষ্য হলো যেসব ইনডেক্সে NaN আছে সেগুলো প্রিন্ট করা।
ইনপুট সিরিজ
0 1.0
1 2.0
2 3.0
3 NaN
4 4.0
5 NaN
সমাধানের পদ্ধতি
- সিরিজ তৈরি করুন
np.nanব্যবহার করে। - লুপ চালান
.items()দিয়ে ইনডেক্স ও ভ্যালু পেতে। - NaN চেক করুন
np.isnan(j)বাpd.isna(j)ব্যবহার করে। - ইনডেক্স প্রিন্ট করুন।
পূর্ণ কোড উদাহরণ
import pandas as pd
import numpy as np
l = [1, 2, 3, np.nan, 4, np.nan]
data = pd.Series(l)
print("সিরিজ:")
print(data)
print("\nNaN ভ্যালুর ইনডেক্স:")
for i, j in data.items():
if np.isnan(j): # বা pd.isna(j)
print(f"index is {i}")
আউটপুট
সিরিজ:
0 1.0
1 2.0
2 3.0
3 NaN
4 4.0
5 NaN
dtype: float64
NaN ভ্যালুর ইনডেক্স:
index is 3
index is 5
বিকল্প পদ্ধতি (ভেক্টরাইজড - আরও দ্রুত)
# সব NaN এর ইনডেক্স একসাথে পেতে
nan_indices = data[data.isna()].index.tolist()
print("NaN ইনডেক্সগুলো:", nan_indices)
# আউটপুট: NaN ইনডেক্সগুলো: [3, 5]
দ্রষ্টব্য: np.isnan() শুধু float NaN এর জন্য কাজ করে, pd.isna() বা pd.isnull() সব টাইপের missing value (None, NaT ইত্যাদি) ডিটেক্ট করতে পারে।