কম্পিউটার টিউটোরিয়াল

পাইথন প্রোগ্রাম: সিরিজ থেকে নির্দিষ্ট রেঞ্জের (Range) এলিমেন্ট ফিল্টার করুন

সমস্যা বিবরণ

একটি সংখ্যাসূচক সিরিজ দেওয়া আছে। লক্ষ্য হলো ১০ থেকে ১৫ (উভয় অন্তর্ভুক্ত) রেঞ্জের মধ্যে পড়া সব এলিমেন্ট ফিল্টার করে বের করা।

ইনপুট সিরিজ

0    12
1    13
2    15
3    20
4    19
5    18
6    11

সমাধান ১: প্যান্ডাস বিল্ট-ইন between() মেথড (সেরা পদ্ধতি)

import pandas as pd

l = [12,13,15,20,19,18,11]
data = pd.Series(l)
print("রেঞ্জ ১০-১৫ এর মধ্যে এলিমেন্ট:")
print(data[data.between(10, 15)])

সমাধান ২: লুপ ও কন্ডিশনাল লজিক ব্যবহার করে

import pandas as pd

l = [12,13,15,20,19,18,11]
data = pd.Series(l)
ls = []
for i in range(len(data)):
    if data[i] >= 10 and data[i] <= 15:
        ls.append(data[i])
print(data[data.isin(ls)])

আউটপুট (দুই পদ্ধতিরই)

0    12
1    13
2    15
6    11
dtype: int64

ব্যাখ্যা

between(10, 15) ইনক্লूसিভ (inclusive) অর্থাৎ ১০ এবং ১৫ উভয়ই অন্তর্ভুক্ত করে। ভেক্টরাইজড between() লুপের চেয়ে অনেক দ্রুত এবং কোড সংক্ষিপ্ত।

  1. পাইথন প্রোগ্রাম: সিরিজ থেকে ঠিক দুটি স্পেস সম্বলিত স্ট্রিং রিমুভ করুন

  2. পাইথন প্রোগ্রাম: সিরিজের সব এলিমেন্ট নিম্নক্রমে (Descending) সর্ট করুন

  3. পাইথন প্রোগ্রাম: সিরিজ থেকে শুধু ইন্টিজার (Integer) এলিমেন্ট ফিল্টার করুন

  4. পাইথন প্রোগ্রাম ডায়ামন্ড আকার প্রিন্ট করা