आइए एक परिदृश्य पर विचार करें जहां आपके पास एक सूची है जो सूचियों से बनी है। हम आंतरिक सूचियों की विभिन्न स्थितियों पर एक वर्ण की आवृत्ति ज्ञात करने में रुचि रखते हैं। नीचे दिया गया उदाहरण आवश्यकता को स्पष्ट करेगा।
नीचे दी गई सूची की सूची पर विचार करें।
listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]
उपरोक्त सूची में हमारे पास 3 तत्वों वाली सूचियों के रूप में तत्व हैं। यदि मैं पहली आंतरिक सूची पर विचार करता हूं तो इसमें स्थितियों 0,1,2 पर a,a,b हैं। इसी तरह तीसरी सूची के लिए यह स्थितियों 0,1,2 पर c,a,b है। सभी आंतरिक सूचियों पर विचार करते हुए हम कह सकते हैं कि स्थिति 0 पर a की आवृत्ति 2 है, स्थिति 1 पर 3 है और स्थिति 2 पर यह 1 है।
नीचे दिए गए प्रोग्राम किसी सूची की सूची में किसी भी तत्व के लिए ऐसे मान खोजने का लक्ष्य रखते हैं।
pandas का उपयोग
पैंडास लाइब्रेरी डेटाफ्रेम बनाकर डेटा मैनिपुलेशन के लिए व्यापक रूप से उपयोग की जाती है। इसलिए हम एक डेटाफ्रेम बनाते हैं और जहां क्लॉज के साथ इसके माध्यम से लूप करते हैं ताकि यह पता लगाया जा सके कि मान 'a' डेटा फ्रेम में प्रत्येक स्थिति में मौजूद है या नहीं।
उदाहरण
import pandas as pd
# दी गई सूची की सूची
listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]
# pandas का उपयोग
df = pd.DataFrame(listA)
res = df.where(df == 'a', 0).where(df != 'a', 1)
# परिणाम
print("स्थिति 0,1 और 2 पर 'a' की घटना\n", res.sum())
आउटपुट
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है -
स्थिति 0,1 और 2 पर 'a' की घटना 0 2.0 1 3.0 2 1.0
zip के साथ
हम पूरी सूची की सूची पर zip फंक्शन लागू करके सबलिस्ट में प्रत्येक स्थिति के माध्यम से लूप करने के लिए एक फॉर लूप का उपयोग कर सकते हैं।
उदाहरण
# दी गई सूची की सूची
listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]
res = [elem.count('a') for elem in zip(*listA)]
# परिणाम
print("स्थिति 0,1 और 2 पर 'a' की घटना\n", res)
आउटपुट
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है -
स्थिति 0,1 और 2 पर 'a' की घटना [2, 3, 1]