समस्या विवरण
मिश्रित प्रकार की Series से केवल पूर्णांक (int) प्रकार के तत्व निकालें।
इनपुट Series
0 1 1 2 2 python 3 pandas 4 3 5 4 6 5 dtype: object
अपेक्षित आउटपुट
0 1 1 2 4 3 5 4 6 5 dtype: object
समाधान 1: लूप और type() जांच
import pandas as pd
ls = [1,2,"python","pandas",3,4,5]
data = pd.Series(ls)
print("केवल पूर्णांक तत्व:")
for idx, val in data.items():
if type(val) == int:
print(idx, val)
समाधान 2: Regex और filter() (स्ट्रिंग रूपांतरण के साथ)
import pandas as pd import re ls = [1,2,"python","pandas",3,4,5] data = pd.Series(ls) # str(x) से सभी को स्ट्रिंग बनाकर regex मिलान result = pd.Series(filter(lambda x: re.match(r"\d+", str(x)), data)) print(data[data.isin(result)])
समाधान 3: पैंडास apply() और isin() (सुझावित)
import pandas as pd ls = [1,2,"python","pandas",3,4,5] data = pd.Series(ls) mask = data.apply(lambda x: isinstance(x, int)) print(data[mask])
आउटपुट (सभी)
0 1 1 2 4 3 5 4 6 5 dtype: object
नोट: isinstance() type() == से बेहतर है क्योंकि यह उपवर्गों को भी संभालता है।