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

পাইথন পান্ডাসে ইনডেক্স লেবেল ব্যবহার করে ডেটার সাবসেট নির্বাচন

ভূমিকা

পাইথনের বিল্ট-ইন ডিকশনারি এবং লিস্ট ইনডেক্স লেবেল বা পজিশন দিয়ে ডেটা এক্সেস করে। পান্ডাসে .loc (লেবেল-ভিত্তিক) এবং .iloc (পজিশন-ভিত্তিক) এট্রিবিউট রয়েছে এই কাজের জন্য। .loc পাইথন ডিকশনারির মতো লেবেল দিয়ে কাজ করে।

.loc[] ব্যবহার করে ইনডেক্স লেবেল দিয়ে সাবসেট নির্বাচন

loc এবং iloc সিরিজ ও ডেটাফ্রেম উভয়েই উপলব্ধ।

১. 'title' কলামকে ইনডেক্স করে মুভি ডেটাসেট লোড:

import pandas as pd
movies = pd.read_csv(
    "https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv",
    index_col="title",
    usecols=["title", "budget", "vote_average", "vote_count"]
)

২. ইনডেক্স সর্ট করুন:

movies.sort_index(inplace=True)
movies.head(3)

৩. একক সারি নির্বাচন (সিনট্যাক্স: স্কয়ার ব্র্যাকেট ব্যবহার হয়):

movies.loc["Spider-Man 3"]

আউটপুট: সিরিজ রিটার্ন হবে (budget, vote_average, vote_count)।

৪. স্লাইস ব্যবহার করে রেঞ্জ নির্বাচন (স্ট্রিং লেবেলের ক্ষেত্রে ইনক্লूसিভ):

movies.loc["Alien":"Avatar"]

আউটপুট: ১৬৭ সারি (Alien থেকে Avatar পর্যন্ত সব সিনেমা)।

৫. একাধিক র‍্যান্ডম সারি নির্বাচন (নেস্টেড লিস্ট ব্যবহার):

movies.loc[["Avatar", "Avengers: Age of Ultron"]]

৬. সিলেকশনের অর্ডার পরিবর্তন: লিস্টে ইচ্ছামতো অর্ডার দিয়ে ডেটা বের করা যায়।

৭. ভুল লেবেল দিলে এরর হ্যান্ডলিং: আধুনিক পান্ডাসে ভুল লেবেল দিলে KeyError উঠে। এড়াতে "label" in movies.index চেক করুন অথবা movies.query() ব্যবহার করুন।

"When is Avengers next movie?" in movies.index  # False
movies.query("title in ('Avatar', 'When is Avengers next Movie?')")  # শুধু Avatar রিটার্ন করবে
  1. পাইথনে পান্ডাস ডেটাফ্রেমের সাবসেট সিলেক্ট করা (সিঙ্গল এবং মাল্টিপল কলাম)

  2. পাইথন পান্ডাসে লেক্সিকোগ্রাফিক্যাল স্লাইসিং ব্যবহার করে ডেটার সাবসেট নির্বাচন

  3. পাইথন পান্ডাসে লেক্সিকোগ্রাফিক্যাল স্লাইসিং ব্যবহার করে ডেটার সাবসেট নির্বাচন (আপডেটেড সংস্করণ)

  4. পাইথনে Pandas .query() মেথড দিয়ে ডেটা ফিল্টার করা