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

পাইথন: মাল্টি-ইনডেক্স প্যান্ডাস ডেটাফ্রেম থেকে নির্দিষ্ট সারি ড্রপ করা

মাল্টি-ইনডেক্স ডেটাফ্রেম থেকে নির্দিষ্ট সারি সরানোর জন্য drop() মেথড ব্যবহার করা হয়, যেখানে টাপল দিয়ে মাল্টি-ইনডেক্স কি নির্দিষ্ট করা হয়।

উদাহরণ


import numpy as np
import pandas as pd

# মাল্টি-ইনডেক্স অ্যারে
arr = [
    np.array(['car', 'car', 'car', 'bike', 'bike', 'bike', 'truck', 'truck', 'truck']),
    np.array(['valueA', 'valueB', 'valueC', 'valueA', 'valueB', 'valueC', 'valueA', 'valueB', 'valueC'])
]

# মাল্টি-ইনডেক্স ডেটাফ্রেম
df = pd.DataFrame(
    np.random.randn(9, 3),
    index=arr,
    columns=['Col 1', 'Col 2', 'Col 3']
)
df.index.names = ['level 0', 'level 1']

print("মূল ডেটাফ্রেম:")
print(df)

# নির্দিষ্ট সারি ড্রপ: level_0='car' এবং level_1='valueA'
df.drop(('car', 'valueA'), axis=0, inplace=True)

print("\n'car', 'valueA' সারি ড্রপ করার পর:")
print(df)

আউটপুট (উদাহরণ)


মূল ডেটাফ্রেম:
                 Col 1     Col 2     Col 3
level 0 level 1                           
car     valueA  0.845965 -0.850953 -0.335662
        valueB  0.534764 -0.107635  1.008855
        valueC -0.507910 -0.664625  1.671653
bike    valueA -0.475751 -0.244113  0.672352
        valueB -0.273670  1.118635  0.428750
        valueC -1.064504 -0.344729  0.481037
truck   valueA -0.508659  1.352390  1.382799
        valueB  1.144299 -0.092568 -1.071624
        valueC -0.710767  0.967018 -0.047430

'car', 'valueA' সারি ড্রপ করার পর:
                 Col 1     Col 2     Col 3
level 0 level 1                           
car     valueB  0.534764 -0.107635  1.008855
        valueC -0.507910 -0.664625  1.671653
bike    valueA -0.475751 -0.244113  0.672352
        valueB -0.273670  1.118635  0.428750
        valueC -1.064504 -0.344729  0.481037
truck   valueA -0.508659  1.352390  1.382799
        valueB  1.144299 -0.092568 -1.071624
        valueC -0.710767  0.967018 -0.047430

ব্যাখ্যা

  • drop(('car', 'valueA'), axis=0) — মাল্টি-ইনডেক্স টাপল দিয়ে সারি শনাক্ত করে ড্রপ করে
  • inplace=True — মূল ডেটাফ্রেমই পরিবর্তন করে
  • axis=0 — রো (সারি) ড্রপ (ডিফল্ট)

একাধিক সারি ড্রপ


# একাধিক টাপল দিয়ে
df.drop([('car', 'valueA'), ('bike', 'valueB')], axis=0, inplace=True)

# লেভেল নাম দিয়ে (প্যান্ডাস ০.২৪+)
df.drop(index=('car', 'valueA'), level=['level 0', 'level 1'], inplace=True)

শর্তভিত্তিক ড্রপ


# level 0 'car' হলে সব সারি ড্রপ
df = df[df.index.get_level_values('level 0') != 'car']

# কুয়েরি ব্যবহার
df = df.query("`level 0` != 'car'")
  1. পাইথন প্যান্ডাস - MultiIndex-এ নির্দিষ্ট লেভেল থেকে মান পান

  2. পাইথন পান্ডাসে শর্তভিত্তিক সাবসেট রো সিলেক্ট করা

  3. পান্ডাস ডেটাফ্রেম থেকে MultiIndex তৈরি করা

  4. পান্ডাস ডেটাফ্রেম থেকে নাল সারি ড্রপ করা (dropna)