समस्या विवरण
दिए गए Series में क्रमागत संख्याओं में से लापता (missing) तत्वों को खोजें और उन्हें जोड़कर पूरी क्रमागत Series बनाएं।
इनपुट Series
0 1 1 2 2 3 3 6 4 7 dtype: int64
अपेक्षित आउटपुट
0 1 1 2 2 3 3 4 4 5 5 6 dtype: int64
समाधान दृष्टिकोण
- Series बनाएं।
- पहले और अंतिम तत्व के बीच की रेंज में लूप चलाएं।
- जो संख्या Series में नहीं है, उसे सूची में जोड़ें।
- क्रमबद्ध करके नई Series बनाएं।
पूर्ण कोड उदाहरण
import pandas as pd
import numpy as np
l = [1,2,3,6,7]
l1 = []
data = pd.Series(l)
length = len(data)
# पहले से अंतिम तत्व तक रेंज में जांचें
for i in range(data[0], data[length-1] + 1): # +1 अंतिम तत्व शामिल करने के लिए
if i not in data.values:
l1.append(i)
else:
l1.append(i)
l1.sort()
data = pd.Series(l1)
print("पूरी Series:")
print(data)
आउटपुट
पूरी Series: 0 1 1 2 2 3 3 4 4 5 5 6 dtype: int64
सुधार: पैंडास की reindex() विधि से यह अधिक कुशलता से किया जा सकता है:
full_range = pd.Series(range(data.min(), data.max()+1)) data = full_range print(data)