প্যান্ডাসে groupby() দিয়ে গ্রুপ করে size() দিয়ে গ্রুপ আকার বের করে sort_values() দিয়ে আরোহী বা অবরোহী ক্রমে সাজানো যায়।
সিনট্যাক্স
# আরোহী ক্রম (ছোট থেকে বড়)
df.groupby('কলাম').size().sort_values(ascending=True)
# অবরোহী ক্রম (বড় থেকে ছোট)
df.groupby('কলাম').size().sort_values(ascending=False)
সম্পূর্ণ উদাহরণ
import pandas as pd
df = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
"Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
})
print("মূল ডেটাফ্রেম:")
print(df)
# অবরোহী ক্রম
desc = df.groupby('Reg_Price').size().sort_values(ascending=False)
print("\nঅবরোহী ক্রম:")
print(desc)
# আরোহী ক্রম
asc = df.groupby('Reg_Price').size().sort_values(ascending=True)
print("\nআরোহী ক্রম:")
print(asc)
আউটপুট
মূল ডেটাফ্রেম:
Car Reg_Price
0 BMW 1000
1 Lexus 1400
2 Audi 1000
3 Mercedes 900
4 Jaguar 1700
5 Bentley 900
অবরোহী ক্রম:
Reg_Price
1000 2
900 2
1700 1
1400 1
dtype: int64
আরোহী ক্রম:
Reg_Price
1400 1
1700 1
900 2
1000 2
dtype: int64
ব্যবহারিক টিপস
size()NaN মান সহ সব রো গণনা করে;count()NaN বাদ দেয়- একাধিক কলামে গ্রুপ:
df.groupby(['col1', 'col2']).size() - ফলাফলকে ডেটাফ্রেমে রূপান্তর:
.reset_index(name='count') value_counts()শর্টকাট:df['Reg_Price'].value_counts().sort_index()