समस्या विवरण
मिश्रित डेटा प्रकार वाली Series में पूर्णांक (int), फ्लोट (float), और स्ट्रिंग (str) तत्वों की अलग-अलग गिनती करें।
इनपुट Series
0 1 1 2 2 python 3 3 4 4 5 5 6 6.5 dtype: object
अपेक्षित आउटपुट
पूर्णांक गिनती: 5 फ्लोट गिनती: 1 स्ट्रिंग गिनती: 1
समाधान: filter() और lambda का उपयोग
import pandas as pd
ls = [1,2,"python",3,4,5,6.5]
data = pd.Series(ls)
int_count = len(pd.Series(filter(lambda x: type(x)==int, data)))
float_count = len(pd.Series(filter(lambda x: type(x)==float, data)))
str_count = len(pd.Series(filter(lambda x: type(x)==str, data)))
print(f"पूर्णांक गिनती: {int_count}")
print(f"फ्लोट गिनती: {float_count}")
print(f"स्ट्रिंग गिनती: {str_count}")
आउटपुट
पूर्णांक गिनती: 5 फ्लोट गिनती: 1 स्ट्रिंग गिनती: 1
पैंडास वेक्टराइज़्ड तरीका (अधिक कुशल):
# applymap या apply के साथ type जांच int_count = data.apply(lambda x: isinstance(x, int)).sum() float_count = data.apply(lambda x: isinstance(x, float)).sum() str_count = data.apply(lambda x: isinstance(x, str)).sum() # या dtype के आधार पर (यदि Series समरूप हो) # data.select_dtypes(include=['int64', 'float64', 'object'])