पायथन में कॉलम मानों के आधार पर डेटाफ़्रेम पंक्तियों का चयन करना

पायथन में कॉलम मानों के आधार पर डेटाफ़्रेम पंक्तियों का चयन करना
Python

कॉलम मानों के आधार पर डेटाफ़्रेम को फ़िल्टर करने के लिए पांडा का उपयोग करना

पायथन में डेटा के साथ काम करते समय, पांडा लाइब्रेरी डेटा हेरफेर और विश्लेषण के लिए शक्तिशाली उपकरण प्रदान करती है। एक सामान्य कार्य किसी विशिष्ट कॉलम में मानों के आधार पर डेटाफ़्रेम से पंक्तियों का चयन करना है। यह ऑपरेशन SQL क्वेरी के समान है: तालिका से चुनें * जहां column_name = some_value.

इस लेख में, हम यह पता लगाएंगे कि विभिन्न तरीकों का उपयोग करके पांडा में इसे कैसे प्राप्त किया जाए। चाहे आप एकल मान या एकाधिक मानदंडों के आधार पर फ़िल्टर कर रहे हों, पांडा ऐसे परिचालनों को संभालने के लिए सहज और कुशल तरीके प्रदान करता है। आइए विवरण में उतरें।

आज्ञा विवरण
pd.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, जिसे फ़िल्टर किए गए डेटाफ़्रेम को प्रदर्शित करने के लिए मुद्रित किया जाता है।

दूसरी स्क्रिप्ट एक समान संरचना का अनुसरण करती है लेकिन संख्यात्मक स्थिति के आधार पर पंक्तियों को फ़िल्टर करने पर केंद्रित होती है। पांडा को आयात करने और उत्पाद, मूल्य और मात्रा कॉलम के साथ एक डेटाफ़्रेम बनाने के बाद, स्क्रिप्ट का उपयोग किया जाता है 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() फ़ंक्शन, जो आपको डेटाफ़्रेम पंक्तियों को फ़िल्टर करने के लिए 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() डेटाफ़्रेम पंक्तियों को फ़िल्टर करने का कार्य?
  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() विधियाँ कुशल डेटा फ़िल्टरिंग की अनुमति देती हैं। इन तकनीकों में महारत हासिल करने से डेटासेट में प्रभावी ढंग से हेरफेर और विश्लेषण करने की आपकी क्षमता बढ़ जाती है।