একটি লিস্ট বিবেচনা করুন যার উপাদানগুলো også লিস্ট। আমরা ইনার লিস্টের বিভিন্ন পজিশনে একটি নির্দিষ্ট ক্যারেক্টারের ফ্রিকোয়েন্সি বের করতে চাই।
নিচের লিস্টটি বিবেচনা করুন:
listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]
উপরের লিস্টে প্রতিটি ইনার লিস্টে ৩টি এলিমেন্ট আছে। প্রথম ইনার লিস্টে পজিশন 0, 1, 2-তে a, a, b আছে। সব ইনার লিস্ট বিবেচনা করলে পজিশন 0-এ 'a'-র ফ্রিকোয়েন্সি ২, পজিশন 1-এ ৩, এবং পজিশন 2-এ ১। নিচের প্রোগ্রামগুলো এই মান বের করতে সাহায্য করে।
pandas লাইব্রেরি ব্যবহার করে
pandas লাইব্রেরি ডেটাফ্রেম তৈরি করে ডেটা ম্যানিপুলেশনে ব্যবহৃত হয়। ডেটাফ্রেম তৈরি করে where ক্লজ দিয়ে প্রতিটি পজিশনে 'a' আছে কিনা যাচাই করা হয়।
উদাহরণ
import pandas as pd
listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]
df = pd.DataFrame(listA)
res = df.where(df == 'a', 0).where(df != 'a', 1)
print("Occurrence of 'a' at 0, 1 and 2 position\n", res.sum())
আউটপুট
Occurrence of 'a' at 0, 1 and 2 position 0 2.0 1 3.0 2 1.0
zip ফাংশন ব্যবহার করে
for লুপ দিয়ে সাব-লিস্টের প্রতিটি পজিশন চেক করা হয় এবং পুরো লিস্ট অফ লিস্টে zip ফাংশন প্রয়োগ করা হয়।
উদাহরণ
listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]
res = [elem.count('a') for elem in zip(*listA)]
print("Occurrence of 'a' at 0, 1 and 2 position\n", res)
আউটপুট
Occurrence of 'a' at 0, 1 and 2 position [2, 3, 1]