Python میں کالم کی قدروں کی بنیاد پر ڈیٹا فریم قطاروں کا انتخاب کرنا

Python میں کالم کی قدروں کی بنیاد پر ڈیٹا فریم قطاروں کا انتخاب کرنا
Python

کالم ویلیو کے لحاظ سے ڈیٹا فریمز کو فلٹر کرنے کے لیے پانڈوں کا استعمال

Python میں ڈیٹا کے ساتھ کام کرتے وقت، پانڈاس لائبریری ڈیٹا میں ہیرا پھیری اور تجزیہ کے لیے طاقتور ٹولز پیش کرتی ہے۔ ایک عام کام ایک مخصوص کالم میں اقدار کی بنیاد پر ڈیٹا فریم سے قطاروں کا انتخاب کرنا ہے۔ یہ آپریشن SQL استفسار کے مترادف ہے: SELECT * FROM table WHERE column_name = some_value۔

اس مضمون میں، ہم مختلف طریقوں کا استعمال کرتے ہوئے پانڈوں میں اسے حاصل کرنے کا طریقہ دریافت کریں گے۔ چاہے آپ کسی ایک قدر یا متعدد معیارات سے فلٹر کر رہے ہوں، پانڈاس اس طرح کے آپریشنز کو سنبھالنے کے لیے بدیہی اور موثر طریقے فراہم کرتا ہے۔ آئیے تفصیلات میں غوطہ لگاتے ہیں۔

کمانڈ تفصیل
pd.DataFrame() لغت یا دیگر ڈیٹا ڈھانچے سے ڈیٹا فریم آبجیکٹ بناتا ہے۔
df[condition] ایک شرط کی بنیاد پر ڈیٹا فریم کی قطاروں کو فلٹر کرتا ہے، صرف وہی واپس کرتا ہے جو معیار پر پورا اترتے ہیں۔
print() کنسول میں مخصوص پیغام یا ڈیٹا فریم کو آؤٹ پٹ کرتا ہے۔
df['column'] == value ایک بولین سیریز بناتا ہے جس کا استعمال قطاروں کو فلٹر کرنے کے لیے کیا جاتا ہے جہاں کالم مخصوص قدر سے میل کھاتا ہے۔
df['column'] >df['column'] > value ایک بولین سیریز بناتا ہے جس کا استعمال قطاروں کو فلٹر کرنے کے لیے کیا جاتا ہے جہاں کالم کی قدریں متعین قدر سے زیادہ ہوتی ہیں۔
# Comment کوڈ کے اندر وضاحتیں یا نوٹ شامل کرنے کے لیے استعمال کیا جاتا ہے، جو اسکرپٹ کے حصے کے طور پر نہیں کیے جاتے ہیں۔

پانڈوں میں ڈیٹا فریم قطار کے انتخاب کو نافذ کرنا

فراہم کردہ اسکرپٹس میں، کلیدی کام مخصوص کالم اقدار کی بنیاد پر ڈیٹا فریم سے قطاروں کو فلٹر کرنا ہے، جو ڈیٹا کے تجزیہ میں ایک عام ضرورت ہے۔ پہلا اسکرپٹ پانڈاس لائبریری کو درآمد کرکے شروع ہوتا ہے۔ import pandas as pd. یہ ضروری ہے کیونکہ پانڈاس Python میں ڈیٹا ہیرا پھیری کی ایک طاقتور لائبریری ہے۔ اگلا، ہم استعمال کرتے ہوئے ایک نمونہ ڈیٹا فریم بناتے ہیں۔ pd.DataFrame() ناموں، عمروں اور شہروں کے ڈیٹا پر مشتمل ایک لغت کے ساتھ۔ یہ ڈھانچہ ہمیں ٹیبلر ڈیٹا کو آسانی سے تصور کرنے اور جوڑ توڑ کرنے کی اجازت دیتا ہے۔ اسکرپٹ کا اہم حصہ وہ ہے جہاں ہم استعمال کرتے ہوئے قطاروں کو فلٹر کرتے ہیں۔ df[df['city'] == 'New York']. یہ کمانڈ تمام قطاروں کو منتخب کرتی ہے جہاں شہر کے کالم کی قدر 'نیو یارک' ہے۔ نتیجہ متغیر میں محفوظ ہے۔ ny_rows، جو پھر فلٹر شدہ ڈیٹا فریم کو ظاہر کرنے کے لیے پرنٹ کیا جاتا ہے۔

دوسرا اسکرپٹ اسی طرح کے ڈھانچے کی پیروی کرتا ہے لیکن عددی حالت کی بنیاد پر قطاروں کو فلٹر کرنے پر فوکس کرتا ہے۔ پانڈوں کو درآمد کرنے اور پروڈکٹ، قیمت، اور مقدار کے کالموں کے ساتھ ڈیٹا فریم بنانے کے بعد، اسکرپٹ استعمال کرتا ہے 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

کالم کی قدروں کی بنیاد پر ڈیٹا فریم قطاروں سے استفسار کرنا

ازگر - پانڈوں کے ساتھ اعلی درجے کی فلٹرنگ

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() فنکشن، جو آپ کو ڈیٹا فریم کی قطاروں کو فلٹر کرنے کے لیے ایس کیو ایل جیسا نحو استعمال کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، آپ استعمال کر سکتے ہیں 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() ڈیٹا فریم قطاروں کو فلٹر کرنے کا فنکشن؟
  6. دی query() فنکشن آپ کو ایس کیو ایل کی طرح نحو استعمال کرنے کی اجازت دیتا ہے۔ مثال کے طور پر: 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() طریقے موثر ڈیٹا فلٹرنگ کی اجازت دیتے ہیں۔ ان تکنیکوں میں مہارت حاصل کرنے سے ڈیٹاسیٹس کو مؤثر طریقے سے جوڑ توڑ اور تجزیہ کرنے کی آپ کی صلاحیت میں اضافہ ہوتا ہے۔