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

Pandas query() ফাংশন দিয়ে কলাম ভ্যালু বেসড সারি ফিল্টার করা

Pandas-এ query() মেথড ব্যবহার করে কলামের মান অনুযায়ী সারি (row) ফিল্টার করা খুব সহজ এবং পঠনীয়। এটি SQL-সদৃশ সিনট্যাক্সে কন্ডিশন লিখতে দেয়।

প্রাথমিক সেটআপ

import pandas as pd

# টিম র‍্যাঙ্কিং ডেটা
Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
        ['New Zealand', 4, 65], ['South Africa', 5, 50], ['Bangladesh', 6, 40]]

dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
print("DataFrame...\n", dataFrame)

উদাহরণ ১: Rank == 5 ফিল্টার

# Rank 5 olan টিম বের করা
result = dataFrame.query("Rank == 5")
print("\nFetch Team with Rank 5..\n", result)

উদাহরণ ২: একাধিক কন্ডিশন (Points > 70 এবং Rank < 3)

# Points 70-র বেশি এবং Rank 3-র কম
result = dataFrame.query("Points > 70 and Rank < 3")
print("\nFetch Team with points above 70 and Rank less than 3..\n", result)

আউটপুট

Fetch Team with Rank 5..
    Country  Rank  Points
4  South Africa  5  50

Fetch Team with points above 70 and Rank less than 3..
    Country  Rank  Points
0  India      1    100
1  Australia  2    85

টিপস

  • query()-এ কলাম নাম যদি স্পেস বা স্পেশাল ক্যারেক্টার ধারণ করে, তবে ব্যাকটিক (`) ব্যবহার করুন: query("`Column Name` > 10")।
  • ভেরিয়েবল ব্যবহার করতে @ চিহ্ন দিন: query("Rank > @threshold")।
  • বুলিয়ান ইন্ডেক্সিং (df[df.Rank == 5]) বিকল্প, কিন্তু query() বড় ডেটাসেটে দ্রুত এবং পঠনীয়।
  1. পাইথন: NumPy ব্যবহার করে প্যান্ডাস DataFrame ফিল্টার করা

  2. পাইথন: কমন কলাম দিয়ে প্যান্ডাস DataFrame মার্জ করা এবং অমিল ভ্যালুর জন্য NaN সেট করা

  3. পাইথন: প্যান্ডাসে একটি ডেটাফ্রেমের মান অন্য ডেটাফ্রেমের মান দিয়ে প্রতিস্থাপন করা

  4. পাইথনে শর্তসাপেক্ষে Pandas DataFrame-এ নতুন কলাম যোগ করা