پانڈوں میں قطار کی تکرار کو سمجھنا
Python میں ڈیٹا کے ساتھ کام کرتے وقت، پانڈاس لائبریری ڈیٹا میں ہیرا پھیری اور تجزیہ کے لیے طاقتور ٹولز پیش کرتی ہے۔ ایک عام کام کالم کے ناموں کے ذریعہ انفرادی عناصر تک رسائی اور کارروائی کرنے کے لئے ڈیٹا فریم کی قطاروں پر تکرار کرنا ہے۔ یہ گائیڈ آپ کو یہ سمجھنے میں مدد کرے گا کہ اسے آسانی سے کیسے پورا کیا جائے۔
ہم پانڈاس ڈیٹا فریم میں قطار کی تکرار کے لیے مختلف طریقے تلاش کریں گے، بشمول عملی مثالیں اور وضاحتیں۔ آخر تک، آپ کو اس بات کی واضح سمجھ ہو جائے گی کہ ان طریقوں کو اپنے منصوبوں میں مؤثر طریقے سے کیسے استعمال کیا جائے۔
کمانڈ | تفصیل |
---|---|
iterrows() | ایک ایٹریٹر تیار کرتا ہے جو ڈیٹا فریم میں ہر قطار کے لیے انڈیکس اور قطار کا ڈیٹا حاصل کرتا ہے۔ |
itertuples() | ڈیٹا فریم قطاروں کے ٹوپلز کے نام سے ایک تکرار کرنے والا لوٹاتا ہے، تیزی سے قطار کی تکرار فراہم کرتا ہے۔ |
apply() | ڈیٹا فریم کے مخصوص محور (قطاروں یا کالموں) کے ساتھ فنکشن لاگو کرتا ہے۔ |
axis | محور کی وضاحت کرنے کے لیے apply() فنکشن میں ایک پیرامیٹر، کالم کے لیے 0 اور قطاروں کے لیے 1 کے ساتھ۔ |
enumerate() | ایک کاؤنٹر کو اٹیبل میں شامل کرتا ہے، جو اعادہ کرتے وقت انڈیکس حاصل کرنے کے لیے مفید ہے۔ |
f-string | کرلی منحنی خطوط وحدانی {} کا استعمال کرتے ہوئے سٹرنگ لٹریلز کے اندر تاثرات کو سرایت کرنے کے لیے ازگر میں ایک فارمیٹنگ نحو۔ |
پانڈوں کے ساتھ قطاروں پر تکرار: طریقوں کی وضاحت
فراہم کردہ اسکرپٹس پانڈا ڈیٹا فریم میں قطاروں پر تکرار کرنے کے مختلف طریقے دکھاتی ہیں۔ پہلا طریقہ استعمال کرتا ہے۔ iterrows() فنکشن، جو ایک ایٹریٹر تیار کرتا ہے جو ہر قطار کے لیے انڈیکس اور قطار کا ڈیٹا حاصل کرتا ہے۔ یہ طریقہ آپ کو قطار کے عناصر تک ان کے کالم کے ناموں کے ذریعے رسائی حاصل کرنے کی اجازت دیتا ہے، جس سے مخصوص اقدار کو پرنٹ یا جوڑ توڑ کرنا آسان ہو جاتا ہے۔ دوسرا طریقہ، استعمال کرتے ہوئے itertuples(), اسی طرح کی ہے لیکن ہر قطار کے لیے nametuples واپس کر کے بہتر کارکردگی پیش کرتا ہے۔ یہ نقطہ نظر تیز تر ہے کیونکہ یہ ہر قطار کے لیے سیریز آبجیکٹ بنانے کے اوور ہیڈ سے گریز کرتا ہے، جو خاص طور پر بڑے ڈیٹاسیٹس کے لیے فائدہ مند ہے۔
ایک اور طریقہ دکھایا گیا ہے apply() فنکشن، جو ڈیٹا فریم کے دیے گئے محور کے ساتھ ایک مخصوص فنکشن کا اطلاق کرتا ہے۔ محور پیرامیٹر کو 1 پر سیٹ کرنے سے، فنکشن ہر قطار پر لاگو ہوتا ہے۔ یہ طریقہ ورسٹائل ہے، جو آپ کو قطار وار کارروائیوں کے لیے حسب ضرورت افعال کی وضاحت کرنے کی اجازت دیتا ہے۔ آخر میں، کا استعمال enumerate() کے ساتھ iterrows() تکرار کے دوران قطار انڈیکس کو ٹریک رکھنے کا ایک طریقہ فراہم کرتا ہے۔ یہ ان کاموں کے لیے کارآمد ہو سکتا ہے جن کے لیے قطار نمبر کی ضرورت ہوتی ہے یا زیادہ پیچیدہ کارروائیوں کے لیے جہاں ڈیٹا فریم میں پوزیشن اہمیت رکھتی ہے۔ ایک ساتھ، یہ طریقے کارکردگی اور فعالیت کی بنیاد پر مختلف ضروریات کو پورا کرتے ہوئے، ڈیٹا فریم کی قطاروں پر تکرار کرنے کے لیے بہت سے اختیارات پیش کرتے ہیں۔
پانڈاس ڈیٹا فریم میں قطاروں پر اعادہ کرنے کے لیے iterrows() کا استعمال
پانڈاس لائبریری کے ساتھ ازگر
import pandas as pd
# Create a sample DataFrame
data = {'c1': [10, 11, 12], 'c2': [100, 110, 120]}
df = pd.DataFrame(data)
# Iterate over rows using iterrows()
for index, row in df.iterrows():
print(row['c1'], row['c2'])
# Output:
# 10 100
# 11 110
# 12 120
بہتر کارکردگی کے لیے itertuples() کے ساتھ تکرار کرنا
پانڈاس لائبریری کے ساتھ ازگر
import pandas as pd
# Create a sample DataFrame
data = {'c1': [10, 11, 12], 'c2': [100, 110, 120]}
df = pd.DataFrame(data)
# Iterate over rows using itertuples()
for row in df.itertuples():
print(row.c1, row.c2)
# Output:
# 10 100
# 11 110
# 12 120
DataFrame apply() طریقہ کے ساتھ قطاروں تک رسائی
پانڈاس لائبریری کے ساتھ ازگر
import pandas as pd
# Create a sample DataFrame
data = {'c1': [10, 11, 12], 'c2': [100, 110, 120]}
df = pd.DataFrame(data)
# Define a function to apply to each row
def print_row(row):
print(row['c1'], row['c2'])
# Apply the function to each row
df.apply(print_row, axis=1)
# Output:
# 10 100
# 11 110
# 12 120
DataFrame.iterrows() اور شمار کرنا
پانڈاس لائبریری کے ساتھ ازگر
import pandas as pd
# Create a sample DataFrame
data = {'c1': [10, 11, 12], 'c2': [100, 110, 120]}
df = pd.DataFrame(data)
# Iterate over rows using iterrows() and enumerate()
for i, (index, row) in enumerate(df.iterrows()):
print(f'Index: {index}, Row {i}: {row["c1"]}, {row["c2"]}')
# Output:
# Index: 0, Row 0: 10, 100
# Index: 1, Row 1: 11, 110
# Index: 2, Row 2: 12, 120
پانڈوں میں قطار کی تکرار کے لیے اضافی طریقے تلاش کرنا
جیسے عام طور پر استعمال شدہ طریقوں سے ہٹ کر iterrows() اور itertuples()، پانڈوں میں ڈیٹا فریم قطاروں پر تکرار کرنے کے لئے دوسری تکنیکیں دستیاب ہیں۔ ایسا ہی ایک طریقہ استعمال کرنا ہے۔ iloc انڈیکسر دی iloc انڈیکسر آپ کو قطاروں اور کالموں تک ان کے انٹیجر لوکیشن پر مبنی اشاریہ سازی کے ذریعے رسائی حاصل کرنے کی اجازت دیتا ہے، جو اسے تکرار کے لیے ایک طاقتور ٹول بناتا ہے۔ یہ طریقہ خاص طور پر مفید ہے جب آپ کو مخصوص قطاروں یا کالموں کو سیریز یا نامی ٹوپلس میں تبدیل کیے بغیر آپریشن کرنے کی ضرورت ہو۔ کے ساتھ مجموعہ میں ایک لوپ کا استعمال کرتے ہوئے کی طرف سے iloc، آپ قطار کے عناصر تک رسائی اور مؤثر طریقے سے جوڑ توڑ کر سکتے ہیں۔
ایک اور نقطہ نظر میں استعمال کرنا شامل ہے۔ DataFrame.query() تکرار سے پہلے مخصوص حالات کی بنیاد پر قطاروں کو فلٹر کرنے کا طریقہ۔ یہ طریقہ ایس کیو ایل نما استفسار نحو کا استعمال کرتے ہوئے جامع اور پڑھنے کے قابل ڈیٹا فلٹرنگ کی اجازت دیتا ہے۔ ڈیٹا فریم کو فلٹر کرنے کے بعد، آپ فلٹر شدہ قطاروں کو پروسیس کرنے کے لیے پہلے زیر بحث تکرار کے طریقوں میں سے کوئی بھی استعمال کر سکتے ہیں۔ مزید برآں، Python میں فہرست کی تفہیم کو مزید پیچیدہ ڈیٹا کی تبدیلیوں اور تکرار کے لیے پانڈاس آپریشنز کے ساتھ جوڑا جا سکتا ہے۔ یہ جدید تکنیکیں زیادہ لچک اور کارکردگی پیش کرتی ہیں، خاص طور پر جب بڑے ڈیٹا سیٹس یا پیچیدہ ڈیٹا ہیرا پھیری کے کاموں سے نمٹنے کے لیے۔
پانڈوں میں قطاروں پر تکرار کرنے کے بارے میں عام سوالات
- ڈیٹا فریم قطاروں پر اعادہ کرنے کا سب سے موثر طریقہ کیا ہے؟
- دی itertuples() طریقہ عام طور پر قطاروں پر تکرار کرنے کے لئے سب سے زیادہ موثر ہے کیونکہ یہ ہر قطار کے لئے سیریز آبجیکٹ بنانے کے اوور ہیڈ سے گریز کرتا ہے۔
- اعادہ کرتے وقت میں ڈیٹا فریم کی اقدار میں کیسے ترمیم کرسکتا ہوں؟
- آپ استعمال کر سکتے ہیں loc یا iloc ڈیٹا فریم کی اقدار کو براہ راست تبدیل کرنے کے لیے اپنے لوپ کے اندر۔
- ان کے درمیان فرق کیا ھے iterrows() اور itertuples()?
- iterrows() ہر قطار کو ایک سیریز کے طور پر لوٹاتا ہے، جبکہ itertuples() ہر قطار کو ایک نامی ٹوپل کے طور پر لوٹاتا ہے، جو تیز تر اور زیادہ میموری سے موثر ہے۔
- کیا میں ڈیٹا فریم قطاروں کے ساتھ فہرست فہمی کا استعمال کر سکتا ہوں؟
- جی ہاں، فہرست کی سمجھ کو زیادہ کمپیکٹ اور موثر ڈیٹا ٹرانسفارمیشن کے لیے استعمال کیا جا سکتا ہے۔
- میں تکرار سے پہلے قطاروں کو کیسے فلٹر کروں؟
- کا استعمال کرتے ہیں query() شرائط کی بنیاد پر قطاروں کو فلٹر کرنے کا طریقہ یا بولین انڈیکسنگ۔
- کیا صرف مخصوص کالموں پر اعادہ کرنا ممکن ہے؟
- ہاں، آپ مخصوص کالموں کو استعمال کرکے ان تک رسائی حاصل کرکے اعادہ کرسکتے ہیں۔ df[column_name] آپ کے لوپ کے اندر.
- میں ہر قطار میں فنکشن کا اطلاق کیسے کروں؟
- کا استعمال کرتے ہیں apply() محور پیرامیٹر کے ساتھ طریقہ 1 پر سیٹ کیا گیا ہے۔
- استعمال کرنے کے کارکردگی کے کیا مضمرات ہیں۔ iterrows()?
- iterrows() کے مقابلے میں سست ہے۔ itertuples() اور اس وقت استعمال کیا جانا چاہئے جب کارکردگی کے مقابلے سیریز اشیاء کی پڑھنے کی اہلیت کی ضرورت ہو۔
ڈیٹا فریم قطار کی تکرار پر حتمی خیالات
پانڈاس ڈیٹا فریم میں قطاروں پر اعادہ کرنے کے مختلف طریقوں میں مہارت حاصل کرنا ڈیٹا میں ہیرا پھیری کے کاموں میں زیادہ لچک اور کارکردگی کی اجازت دیتا ہے۔ چاہے آپ انتخاب کریں۔ iterrows() پڑھنے کے قابل، itertuples() کارکردگی کے لیے، یا apply() اپنی مرضی کے مطابق افعال کے لیے طریقہ، ان تکنیکوں کو سمجھنا آپ کی بڑی ڈیٹاسیٹس کو مؤثر طریقے سے سنبھالنے کی صلاحیت کو بڑھا دے گا۔ ان طریقوں کے ساتھ تجربہ کریں اس بات کا تعین کرنے کے لیے کہ کون سا آپ کی مخصوص ضروریات اور ورک فلو کے مطابق ہے۔