সমস্যা বিবরণ
একটি স্ট্রিং সিরিজ দেওয়া আছে। লক্ষ্য হলো সিরিজের সব এলিমেন্টকে নিম্নক্রমে (descending order) সর্ট করা। প্যান্ডাসের sort_values(ascending=False) এই কাজটি এক লাইনে করে দেয়।
ইনপুট সিরিজ
0 abdef
1 ijkl
2 Abdef
3 oUijl
সমাধানের পদ্ধতি
- সিরিজ তৈরি করুন।
- সর্ট করুন
data.sort_values(ascending=False)ব্যবহার করে।
পূর্ণ কোড উদাহরণ
import pandas as pd
l = ["abdef", "ijkl", "Abdef", "oUijl"]
data = pd.Series(l)
print("মূল সিরিজ:")
print(data)
sorted_data = data.sort_values(ascending=False)
print("\nনিম্নক্রমে সর্ট করা সিরিজ:")
print(sorted_data)
আউটপুট
মূল সিরিজ:
0 abdef
1 ijkl
2 Abdef
3 oUijl
dtype: object
নিম্নক্রমে সর্ট করা সিরিজ:
3 oUijl
1 ijkl
0 abdef
2 Abdef
dtype: object
ব্যাখ্যা
স্ট্রিং সর্টিং ASCII/Unicode ভ্যালু বেসড হয়। বড় হাতের অক্ষর (Uppercase) ছোট হাতের (lowercase) থেকে ছোট ASCII ভ্যালু رکھে (A=65, a=97)। তাই 'oUijl' (o=111) সবচেয়ে বড়, তারপর 'ijkl' (i=105), 'abdef' (a=97), 'Abdef' (A=65)। কেস-ইনসেনসিটিভ সর্ট করতে data.str.lower().sort_values(ascending=False) ব্যবহার করুন।