मुख्य सामग्री पर जाएं

Python Select Columns ट्यूटोरियल

Python Pandas का उपयोग करें और DataFrames से कॉलम चुनें। हमारे ट्यूटोरियल कोड उदाहरणों के साथ देखें और आज ही अपने डेटा को चुनने के अलग-अलग तरीके सीखें!
अपडेट किया गया 25 सित॰ 2026  · 7 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

इस ट्यूटोरियल के सभी उदाहरण कोड को खुद आसानी से चलाने के लिए, आप मुफ्त में एक DataLab वर्कबुक बनाएँ जिसमें Python पहले से इंस्टॉल हो और सभी कोड नमूने शामिल हों।

यदि आपके पास एक DataFrame है और आप उससे कुछ विशिष्ट पंक्तियाँ/कॉलम एक्सेस या चुनना चाहते हैं, तो आप स्क्वायर ब्रैकेट्स या अन्य उन्नत तरीकों जैसे loc और iloc का उपयोग कर सकते हैं।

स्क्वायर ब्रैकेट्स का उपयोग करके कॉलम चुनना

मान लीजिए आप brics DataFrame से country कॉलम चुनना चाहते हैं। इसके लिए आप brics लिखेंगे और फिर स्क्वायर ब्रैकेट्स के अंदर कॉलम लेबल देंगे।

एक कॉलम चुनना

          country     capital        area    population
BR         Brazil    Brasilia       8.516        200.40
RU         Russia      Moscow      17.100        143.50
IN         India    New Dehli       3.286       1252.00
CH         China      Beijing       9.597       1357.00
SA  South Africa     Pretoria       1.221         52.98
brics["country"]
BR         Brazil
RU         Russia
IN         India
CH         China
SA  South Africa
Name: country, dtype: object

ऑब्जेक्ट के प्रकार की जाँच करना

आइए type() फ़ंक्शन से उस ऑब्जेक्ट का प्रकार जाँचें जो वापस मिलता है।

type(brics["country"])
pandas.core.series.Series

ऊपर के आउटपुट से स्पष्ट है कि हम यहाँ एक pandas Series से काम कर रहे हैं! Series को एक-आयामी array की तरह समझा जा सकता है, जिसे DataFrame की तरह लेबल किया जा सकता है।

यदि आप डेटा चुनना चाहते हैं और उसे DataFrame के रूप में ही रखना चाहते हैं, तो आपको डबल स्क्वायर ब्रैकेट्स का उपयोग करना होगा:

brics[["country"]]
BR         Brazil
RU         Russia
IN         India
CH         China
SA  South Africa

यदि हम इसके आउटपुट का प्रकार देखें, तो यह एक DataFrame है! हालांकि इसमें केवल एक ही कॉलम है।

type(brics[["country"]])
pandas.core.frame.DataFrame

.shape एट्रिब्यूट समझना

अब .shape एट्रिब्यूट पर नज़र डालते हैं। pandas में .shape एट्रिब्यूट DataFrame या Series की संरचना को जल्दी से देखने का तरीका देता है। यह एक टपल लौटाता है जो DataFrame के लिए पंक्तियों और कॉलमों की संख्या दर्शाता है, और Series के लिए केवल पंक्तियों की संख्या।

उदाहरण: DataFrame के साथ .shape का उपयोग

आइए अपने brics नामक DataFrame को फिर देखें:

import pandas as pd

# Sample DataFrame
data = {
    "country": ["Brazil", "Russia", "India", "China", "South Africa"],
    "capital": ["Brasilia", "Moscow", "New Delhi", "Beijing", "Pretoria"],
    "area": [8.516, 17.1, 3.286, 9.597, 1.221],
    "population": [200.4, 143.5, 1252, 1357, 52.98],
}
brics = pd.DataFrame(data, index=["BR", "RU", "IN", "CH", "SA"])

# Check the shape
print(brics.shape)

आउटपुट:

(5, 4)

यह बताता है कि brics DataFrame में 5 पंक्तियाँ और 4 कॉलम हैं।

उदाहरण: Series के साथ .shape का उपयोग

जब आप DataFrame से एक ही कॉलम चुनते हैं, जैसे country कॉलम, तो परिणाम एक Series होता है। इस स्थिति में .shape ऐसे व्यवहार करता है:

country_series = brics["country"]
print(country_series.shape)

आउटपुट:

(5,)

यहाँ Series में 5 पंक्तियाँ हैं और कोई कॉलम नहीं, क्योंकि Series एक-आयामी होती है।

संक्षेप में: किसी DataFrame के लिए .shape एक टपल लौटाता है जिसमें पंक्तियों और कॉलमों की संख्या होती है। Series के लिए, यह पंक्तियों की संख्या देता है। .shape का उपयोग अपने डेटासेट के आकार को जल्दी जाँचने या फ़िल्टरिंग और चयन के परिणामों को सत्यापित करने के लिए करें। ध्यान रखें कि .shape एक एट्रिब्यूट है, इसलिए इसे एक्सेस करने के लिए कोष्ठकों की आवश्यकता नहीं होती। 

एकाधिक कॉलम चुनना

आप इस कॉल को बढ़ाकर दो कॉलम चुन सकते हैं। आइए country और capital चुनने की कोशिश करें।

brics[["country", "capital"]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing
SA  South Africa     Pretoria

ध्यान से देखें तो आप वास्तव में कॉलम लेबल्स की एक सूची को एक और स्क्वायर ब्रैकेट्स के अंदर रख रहे हैं और अंततः एक सब-DataFrame मिलता है जिसमें केवल country और capital कॉलम होते हैं।

स्क्वायर ब्रैकेट्स का उपयोग करके पंक्तियाँ चुनना

स्क्वायर ब्रैकेट्स केवल कॉलम चुनने से अधिक कर सकते हैं। आप उनका उपयोग DataFrame से पंक्तियाँ, या ऑब्ज़र्वेशन, लेने के लिए भी कर सकते हैं।

उदाहरण

आप केवल तभी स्क्वायर ब्रैकेट्स से पंक्तियाँ चुन सकते हैं जब आप कोई स्लाइस दें, जैसे 0:4। साथ ही, यहाँ आप पंक्तियों के रो लेबल नहीं, बल्कि इंटीजर इंडेक्स का उपयोग कर रहे हैं!

brics DataFrame की दूसरी, तीसरी और चौथी पंक्तियाँ पाने के लिए, हम 1 से 4 तक का स्लाइस उपयोग करते हैं। याद रखें कि स्लाइस का अंत एक्सक्लूसिव होता है, और इंडेक्स शून्य से शुरू होता है।

brics[1:4]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Delhi    3.286       1252.00
CH         China      Beijing    9.597       1357.00

ये स्क्वायर ब्रैकेट्स काम तो करते हैं, पर इनकी क्षमताएँ सीमित हैं। आदर्श रूप से, हम 2D Numpy arrays जैसा कुछ चाहेंगे, जहाँ आप स्क्वायर ब्रैकेट्स भी उपयोग करते हैं। कॉमा से पहले का इंडेक्स या स्लाइस पंक्तियों को दर्शाता है और कॉमा के बाद का स्लाइस कॉलमों को।

2D Numpy array का उदाहरण:

my_array[rows, columns]

यदि आप pandas में कुछ ऐसा ही करना चाहते हैं, तो आपको loc और iloc फ़ंक्शनों का उपयोग देखना होगा।

  • loc: लेबल-आधारित

  • iloc: इंटीजर पोज़िशन-आधारित

loc फ़ंक्शन

loc आपके डेटा के हिस्सों को लेबल्स के आधार पर चुनने की तकनीक है। आइए brics DataFrame देखें और Russia के लिए पंक्तियाँ लें।

इसके लिए आप loc के बाद स्क्वायर ब्रैकेट्स में संबंधित लेबल रखेंगे।

पंक्तियाँ चुनना

brics.loc["RU"]
country     Russia
capital     Moscow
area          17.1
population   143.5
Name: RU, dtype: object

हमें एक pandas Series मिलती है जिसमें उस पंक्ति की सारी जानकारी होती है; हालाँकि, यह अलग-अलग लाइनों पर प्रदर्शित होती है। DataFrame पाने के लिए हमें RU स्ट्रिंग को एक और जोड़ी ब्रैकेट्स में रखना होगा। हम एक साथ कई पंक्तियाँ भी चुन सकते हैं। मान लीजिए आप India और China को भी शामिल करना चाहते हैं। बस उन रो लेबल्स को सूची में जोड़ दें।

brics.loc[["RU", "IN", "CH"]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Delhi    3.286       1252.00
CH         China      Beijing    9.597       1357.00

loc और बेसिक स्क्वायर ब्रैकेट्स के उपयोग में अंतर यह है कि आप चयन को कॉमा लगाकर उन कॉलमों के विनिर्देशन के साथ बढ़ा सकते हैं जिनमें रुचि है।

पंक्तियाँ और कॉलम चुनना

आइए पिछले कॉल को बढ़ाकर केवल country और capital कॉलम शामिल करें। हम कॉमा जोड़ते हैं और उन कॉलम लेबल्स की सूची देते हैं जिन्हें रखना है। इंटरसेक्शन लौटाया जाता है।

brics.loc[["RU", "IN", "CH"], ["country", "capital"]]
          country     capital
RU         Russia      Moscow
IN         India    New Delhi
CH         China      Beijing

आप loc का उपयोग सभी पंक्तियाँ चुनने लेकिन केवल कुछ विशिष्ट कॉलम रखने के लिए भी कर सकते हैं। बस पहली सूची, जो रो लेबल्स बताती है, को कॉलन से बदल दें। यानी शुरुआत से अंत तक का स्लाइस। इस बार, हमें सभी पंक्तियाँ मिलती हैं लेकिन केवल दो कॉलम।

सभी पंक्तियाँ और विशिष्ट कॉलम चुनना

brics.loc[:, ["country", "capital"]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Delhi
CH         China      Beijing
SA  South Africa     Pretoria

iloc फ़ंक्शन

iloc फ़ंक्शन आपको उनकी पोज़िशन या इंडेक्स के आधार पर pandas DataFrames को सबसेट करने देता है।

पंक्तियाँ चुनना

आइए loc के लिए उपयोग किए गए वही डेटा और मिलते-जुलते उदाहरण लें। चलिए Russia की पंक्ति से शुरू करते हैं।

brics.iloc[[1]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50

Russia, India और China की पंक्तियाँ पाने के लिए अब आप इंडेक्स की सूची 1, 2, 3 का उपयोग कर सकते हैं।

brics.iloc[[1, 2, 3]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Delhi    3.286       1252.00
CH         China      Beijing    9.597       1357.00

पंक्तियाँ और कॉलम चुनना

loc की तरह ही, हम iloc के साथ भी पंक्तियाँ और कॉलम दोनों चुन सकते हैं। यहाँ, हम Russia, India और China की पंक्तियाँ और country तथा capital कॉलम चुनेंगे।

brics.iloc[[1, 2, 3], [0, 1]]
          country     capital
RU         Russia      Moscow
IN         India    New Delhi
CH         China      Beijing

सभी पंक्तियाँ और विशिष्ट कॉलम चुनना

अंत में, यदि आप सभी पंक्तियाँ चुनना चाहते हैं लेकिन केवल country और capital कॉलम रखना चाहते हैं, तो आप यह कर सकते हैं:

brics.loc[:, [0, 1]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Delhi
CH         China      Beijing
SA  South Africa     Pretoria

loc और iloc फ़ंक्शन काफी समान हैं। फर्क केवल इस बात में है कि आप पंक्तियों और कॉलमों का संदर्भ कैसे देते हैं।

डेटा के एक सबसेट का चयन: इंटरैक्टिव उदाहरण

निम्न उदाहरण में, cars डेटा एक CSV फ़ाइल से Pandas DataFrame के रूप में इंपोर्ट किया गया है। केवल cars_per_cap column को cars से चुनने के लिए, आप यह उपयोग कर सकते हैं:

cars['cars_per_cap']
cars[['cars_per_cap']]

सिंगल ब्रैकेट वाला संस्करण एक Pandas Series देता है; डबल ब्रैकेट वाला संस्करण एक Pandas DataFrame देता है।

  • आप सिंगल स्क्वायर ब्रैकेट्स का उपयोग करके cars के country कॉलम को Pandas Series के रूप में प्रिंट करेंगे।
  • फिर डबल स्क्वायर ब्रैकेट्स का उपयोग करके cars के country कॉलम को Pandas DataFrame के रूप में प्रिंट करेंगे।
  • अंत में, डबल स्क्वायर ब्रैकेट्स का उपयोग करके cars के country और drives_right दोनों कॉलमों के साथ, इसी क्रम में, एक DataFrame प्रिंट करेंगे।
# Import cars data
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)

# Print out country column as Pandas Series
print(cars['country'])

# Print out country column as Pandas DataFrame
print(cars[['country']])

# Print out DataFrame with country and drives_right columns
print(cars[['country', 'drives_right']])

जब हम ऊपर का कोड चलाते हैं, तो यह निम्न परिणाम देता है:

US     United States
AUS        Australia
JPN            Japan
IN             India
RU            Russia
MOR          Morocco
EG             Egypt
Name: country, dtype: object
           country
US   United States
AUS      Australia
JPN          Japan
IN           India
RU          Russia
MOR        Morocco
EG           Egypt
           country  drives_right
US   United States          True
AUS      Australia         False
JPN          Japan         False
IN           India         False
RU          Russia          True
MOR        Morocco          True
EG           Egypt          True

स्वयं आज़माएँ।

pandas के बारे में और सीखने के लिए, हमारे कोर्स Intermediate Python का यह वीडियो देखें।

यह सामग्री DataCamp के Intermediate Python कोर्स से ली गई है, लेखक: Hugo Bowne-Anderson।

विषय
Python
डेटा विश्लेषण
डेटा साक्षरता

Python कोर्सेज़

कोर्स

इंटरमीडिएट Python

4 घंटा
1.4M
Matplotlib से विज़ुअलाइज़ेशन बनाकर और pandas से DataFrames को संभालकर अपने डेटा विज्ञान कौशल बढ़ाएँ।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें

कोर्स

Python परिचय

4 घंटा
7M
Python के साथ डेटा विश्लेषण की बुनियादी बातें सिर्फ चार घंटे में सीखें। यह ऑनलाइन पाठ्यक्रम Python इंटरफ़ेस का परिचय देगा और लोकप्रिय पैकेजों का अन्वेषण करेगा।
और देखेंRight Arrow