সমস্যা বিবরণ
একটি প্যান্ডাস সিরিজ দেওয়া আছে যাতে স্ট্রিং মানগুলো রয়েছে। আমাদের কাজ হলো সিরিজে যে স্ট্রিংটির দৈর্ঘ্য (length) সবচেয়ে বেশি, সেটি খুঁজে বের করা।
ইনপুট সিরিজ
0 one
1 two
2 eleven
3 pomegranates
4 three
সমাধানের পদ্ধতি (লুপ ব্যবহার করে)
- সিরিজ তৈরি করুন।
- প্রাথমিক মান সেট করুন
maxlen = 0এবংmaxstr = ""। - লুপ চালান সিরিজের প্রতিটি এলিমেন্টের জন্য।
- তুলনা করুন যদি বর্তমান স্ট্রিংর দৈর্ঘ্য
maxlenথেকে বড় হয়, তবেmaxlenএবংmaxstrআপডেট করুন। - ফলাফল প্রিন্ট করুন।
পূর্ণ কোড উদাহরণ
import pandas as pd
res = pd.Series(["one","two","eleven","pomegranates","three"])
maxlen = len(res[0])
maxstr = ""
for i in res:
if len(i) > maxlen:
maxlen = len(i)
maxstr = i
print("সর্বোচ্চ দৈর্ঘ্যের স্ট্রিং:", maxstr)
আউটপুট
সর্বোচ্চ দৈর্ঘ্যের স্ট্রিং: pomegranates
বিকল্প পদ্ধতি (ভেক্টরাইজড)
প্যান্ডাসের বিল্ট-ইন মেথড দিয়ে আরও সংক্ষিপ্তভাবে করা যায়:
import pandas as pd
res = pd.Series(["one","two","eleven","pomegranates","three"])
# str.len() দিয়ে প্রতিটি স্ট্রিংর দৈর্ঘ্য বের করুন, তারপর idxmax() দিয়ে সর্বোচ্চ দৈর্ঘ্যের ইনডেক্স পান
longest = res.loc[res.str.len().idxmax()]
print("সর্বোচ্চ দৈর্ঘ্যের স্ট্রিং (ভেক্টরাইজড):", longest)
নোট: ভেক্টরাইজড পদ্ধতি বড় ডেটাসেটের জন্য দ্রুত এবং পাইথনিক।