পাইথনে কলাম মানের উপর ভিত্তি করে ডেটাফ্রেম সারি নির্বাচন করা

পাইথনে কলাম মানের উপর ভিত্তি করে ডেটাফ্রেম সারি নির্বাচন করা
Python

কলাম মান দ্বারা ডেটাফ্রেম ফিল্টার করতে পান্ডাস ব্যবহার করা

পাইথনে ডেটা নিয়ে কাজ করার সময়, পান্ডাস লাইব্রেরি ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের জন্য শক্তিশালী সরঞ্জাম সরবরাহ করে। একটি সাধারণ কাজ হল একটি নির্দিষ্ট কলামের মানগুলির উপর ভিত্তি করে ডেটাফ্রেম থেকে সারি নির্বাচন করা। এই অপারেশনটি এসকিউএল কোয়েরির মতো: SELECT * FROM টেবিল WHERE column_name = some_value.

এই নিবন্ধে, আমরা বিভিন্ন পদ্ধতি ব্যবহার করে পান্ডাসে কীভাবে এটি অর্জন করা যায় তা অন্বেষণ করব। আপনি একটি একক মান বা একাধিক মানদণ্ড দ্বারা ফিল্টার করছেন কিনা, পান্ডাস এই ধরনের ক্রিয়াকলাপগুলি পরিচালনা করার জন্য স্বজ্ঞাত এবং কার্যকর উপায় সরবরাহ করে। আসুন বিস্তারিত মধ্যে ডুব.

আদেশ বর্ণনা
pd.DataFrame() একটি অভিধান বা অন্যান্য ডেটা কাঠামো থেকে একটি DataFrame অবজেক্ট তৈরি করে।
df[condition] একটি শর্তের উপর ভিত্তি করে ডেটাফ্রেম সারিগুলি ফিল্টার করে, শুধুমাত্র সেইগুলিকে ফেরত দেয় যা মানদণ্ড পূরণ করে৷
print() কনসোলে নির্দিষ্ট বার্তা বা ডেটাফ্রেম আউটপুট করে।
df['column'] == value সারি ফিল্টার করতে ব্যবহৃত একটি বুলিয়ান সিরিজ তৈরি করে যেখানে কলামটি নির্দিষ্ট মানের সাথে মেলে।
df['column'] >df['column'] > value সারি ফিল্টার করতে ব্যবহৃত একটি বুলিয়ান সিরিজ তৈরি করে যেখানে কলামের মানগুলি নির্দিষ্ট মানের থেকে বেশি।
# Comment কোডের মধ্যে ব্যাখ্যা বা নোট যোগ করতে ব্যবহৃত হয়, যা স্ক্রিপ্টের অংশ হিসাবে কার্যকর করা হয় না।

পান্ডাসে ডেটাফ্রেম সারি নির্বাচন বাস্তবায়ন করা

প্রদত্ত স্ক্রিপ্টগুলিতে, মূল কাজটি হল নির্দিষ্ট কলামের মানগুলির উপর ভিত্তি করে ডেটাফ্রেম থেকে সারিগুলি ফিল্টার করা, যা ডেটা বিশ্লেষণে একটি সাধারণ প্রয়োজন৷ প্রথম স্ক্রিপ্ট পান্ডাস লাইব্রেরি আমদানি করে শুরু হয় import pandas as pd. এটি অপরিহার্য কারণ পান্ডাস পাইথনের একটি শক্তিশালী ডেটা ম্যানিপুলেশন লাইব্রেরি। এর পরে, আমরা ব্যবহার করে একটি নমুনা ডেটাফ্রেম তৈরি করি pd.DataFrame() নাম, বয়স এবং শহরগুলির জন্য ডেটা ধারণকারী একটি অভিধান সহ। এই কাঠামোটি আমাদের সহজে সারণী ডেটাকে কল্পনা করতে এবং ম্যানিপুলেট করতে দেয়। স্ক্রিপ্টের গুরুত্বপূর্ণ অংশ হল যেখানে আমরা ব্যবহার করে সারি ফিল্টার করি df[df['city'] == 'New York']. এই কমান্ডটি সমস্ত সারি নির্বাচন করে যেখানে শহরের কলামের মান 'নিউ ইয়র্ক'। ফলাফল পরিবর্তনশীল সংরক্ষণ করা হয় ny_rows, যা তারপর ফিল্টার করা DataFrame প্রদর্শন করতে মুদ্রিত হয়।

দ্বিতীয় স্ক্রিপ্ট একটি অনুরূপ কাঠামো অনুসরণ করে কিন্তু একটি সংখ্যাগত অবস্থার উপর ভিত্তি করে ফিল্টারিং সারিগুলিতে ফোকাস করে। পান্ডা আমদানি করার পরে এবং পণ্য, মূল্য এবং পরিমাণ কলাম সহ একটি ডেটাফ্রেম তৈরি করার পরে, স্ক্রিপ্টটি ব্যবহার করে df[df['price'] > 150] সারি ফিল্টার করতে যেখানে দাম 150-এর বেশি। এই কমান্ডটি মূল ডেটাফ্রেমের একটি উপসেট তৈরি করে যেখানে শুধুমাত্র নির্দিষ্ট শর্ত পূরণ করে এমন সারি রয়েছে। ফলাফল সংরক্ষণ করা হয় expensive_products এবং যাচাইয়ের জন্য মুদ্রিত। উভয় স্ক্রিপ্ট ডেটা ম্যানিপুলেশনের জন্য পান্ডাদের শক্তি এবং সরলতা প্রদর্শন করে। বুলিয়ান ইনডেক্সিং ব্যবহার করে, একটি পদ্ধতি যেখানে আমরা ডেটা ফিল্টার করার জন্য সত্য/মিথ্যা মানগুলির একটি সিরিজ পাস করি, আমরা দক্ষতার সাথে বিভিন্ন শর্তের উপর ভিত্তি করে ডেটার উপসেট নির্বাচন করতে পারি, এটি ডেটা বিশ্লেষক এবং বিজ্ঞানীদের জন্য একটি অমূল্য হাতিয়ার করে তোলে।

কলামের মানগুলির উপর ভিত্তি করে ডেটাফ্রেমে সারি ফিল্টার করা

পাইথন - ডাটাফ্রেম অপারেশনের জন্য পান্ডা ব্যবহার করা

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

কলামের মানগুলির উপর ভিত্তি করে ডেটাফ্রেম সারিগুলি অনুসন্ধান করা হচ্ছে

Python - পান্ডাদের সাথে উন্নত ফিল্টারিং

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

ডেটাফ্রেম সারি নির্বাচনের জন্য উন্নত কৌশল

বুলিয়ান ইনডেক্সিং সহ মৌলিক ফিল্টারিং ছাড়াও, পান্ডাস কলামের মানের উপর ভিত্তি করে সারি নির্বাচন করার জন্য আরও উন্নত কৌশল অফার করে। যেমন একটি পদ্ধতি হল query() ফাংশন, যা আপনাকে ডেটাফ্রেম সারি ফিল্টার করতে SQL-এর মতো সিনট্যাক্স ব্যবহার করতে দেয়। উদাহরণস্বরূপ, আপনি ব্যবহার করতে পারেন df.query('age > 25 and city == "New York"') সারি নির্বাচন করতে যেখানে বয়স 25 এর বেশি এবং শহরটি নিউ ইয়র্ক। এই পদ্ধতিটি আপনার কোডকে আরও পঠনযোগ্য করে তুলতে পারে, বিশেষ করে জটিল অবস্থার জন্য। উপরন্তু, পান্ডা প্রদান করে loc[] এবং iloc[] আরো সুনির্দিষ্ট সারি নির্বাচনের জন্য অ্যাক্সেসর. দ্য loc[] অ্যাক্সেসরটি লেবেল-ভিত্তিক, যার অর্থ আপনি তাদের লেবেল বা বুলিয়ান অ্যারে দ্বারা সারিগুলি ফিল্টার করতে পারেন। বিপরীতে, iloc[] অ্যাক্সেসর হল পূর্ণসংখ্যার অবস্থান-ভিত্তিক, আপনাকে সারিগুলিকে তাদের সূচকের অবস্থান অনুসারে ফিল্টার করতে দেয়।

পান্ডাসের আরেকটি শক্তিশালী বৈশিষ্ট্য হল ডাটাফ্রেম সারি ফিল্টার করার ক্ষমতা isin() পদ্ধতি এই পদ্ধতিটি উপযোগী যখন আপনাকে মানের তালিকার উপর ভিত্তি করে সারি ফিল্টার করতে হবে। উদাহরণ স্বরূপ, df[df['city'].isin(['New York', 'Los Angeles'])] সারি নির্বাচন করে যেখানে শহরের কলামের মান হয় নিউ ইয়র্ক বা লস অ্যাঞ্জেলেস। উপরন্তু, আপনি ব্যবহার করে একাধিক শর্ত চেইন করতে পারেন & এবং | অপারেটররা আরও জটিল ফিল্টার তৈরি করতে। এই ক্ষেত্রে, df[(df['age'] > 25) & (df['city'] == 'New York')] ফিল্টার সারি যেখানে বয়স 25 এর বেশি এবং শহরটি নিউ ইয়র্ক। এই উন্নত কৌশলগুলি ডেটা ফিল্টারিংয়ের জন্য একটি শক্তিশালী কাঠামো প্রদান করে, যা পান্ডাসকে ডেটা বিশ্লেষণ এবং ম্যানিপুলেশনের জন্য একটি বহুমুখী হাতিয়ার করে তোলে।

পান্ডাতে ডেটাফ্রেম সারি নির্বাচন সম্পর্কে সাধারণ প্রশ্ন

  1. আমি কিভাবে একাধিক কলাম মানের উপর ভিত্তি করে একটি ডেটাফ্রেমে সারি ফিল্টার করব?
  2. আপনি একাধিক শর্তের সাথে বুলিয়ান ইনডেক্সিং ব্যবহার করতে পারেন & এবং |. উদাহরণ স্বরূপ: df[(df['age'] > 25) & (df['city'] == 'New York')].
  3. পার্থক্য কি loc[] এবং iloc[]?
  4. loc[] লেবেল ভিত্তিক, যখন iloc[] পূর্ণসংখ্যা অবস্থান-ভিত্তিক। ব্যবহার করুন loc[] লেবেল দ্বারা ফিল্টার করার জন্য এবং iloc[] সূচক অবস্থান দ্বারা ফিল্টারিং জন্য.
  5. আমি কিভাবে ব্যবহার করতে পারেন query() DataFrame সারি ফিল্টার করার ফাংশন?
  6. দ্য query() ফাংশন আপনাকে SQL-এর মতো সিনট্যাক্স ব্যবহার করতে দেয়। উদাহরণ স্বরূপ: df.query('age > 25 and city == "New York"').
  7. আমি কি মানের তালিকার উপর ভিত্তি করে সারি ফিল্টার করতে পারি?
  8. হ্যাঁ, আপনি ব্যবহার করতে পারেন isin() পদ্ধতি উদাহরণ স্বরূপ: df[df['city'].isin(['New York', 'Los Angeles'])].
  9. স্ট্রিং মিলের উপর ভিত্তি করে সারি ফিল্টার করার সেরা উপায় কি?
  10. আপনি ব্যবহার করতে পারেন str.contains() পদ্ধতি উদাহরণ স্বরূপ: df[df['city'].str.contains('New')].
  11. আমি কিভাবে সারি নির্বাচন করব যেখানে কলামের মান অনুপস্থিত?
  12. আপনি ব্যবহার করতে পারেন isna() পদ্ধতি উদাহরণ স্বরূপ: df[df['age'].isna()].
  13. আমি কিভাবে একটি কাস্টম ফাংশন ব্যবহার করে সারি ফিল্টার করতে পারি?
  14. আপনি ব্যবহার করতে পারেন apply() একটি ল্যাম্বডা ফাংশন সহ পদ্ধতি। উদাহরণ স্বরূপ: df[df.apply(lambda row: row['age'] > 25, axis=1)].
  15. আমি কি ইনডেক্স মানের উপর ভিত্তি করে সারি ফিল্টার করতে পারি?
  16. হ্যাঁ, আপনি ব্যবহার করতে পারেন index.isin() পদ্ধতি উদাহরণ স্বরূপ: df[df.index.isin([1, 3, 5])].

ডেটাফ্রেম সারি নির্বাচনের জন্য মূল উপায়

কলাম মানের উপর ভিত্তি করে ডেটাফ্রেম থেকে সারি নির্বাচন করা পান্ডাদের সাথে ডেটা বিশ্লেষণের একটি মৌলিক দক্ষতা। বুলিয়ান ইনডেক্সিং ব্যবহার করা, loc[], iloc[], query(), এবং isin() পদ্ধতিগুলি দক্ষ ডেটা ফিল্টারিংয়ের অনুমতি দেয়। এই কৌশলগুলি আয়ত্ত করা আপনার ডেটাসেটগুলিকে কার্যকরভাবে ম্যানিপুলেট এবং বিশ্লেষণ করার ক্ষমতা বাড়ায়।