Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Pandas: इंडेक्सिंग ऑपरेटर से सबसेट DataFrame बनाना

Pandas DataFrame में इंडेक्सिंग ऑपरेटर (वर्गाकार कोष्ठक `[]`) का उपयोग करके कॉलम सबसेट बनाना। यह कॉलम चयन का सबसे मूल और सामान्य तरीका है।

बुनियादी सिंटैक्स

# एकल कॉलम (Series लौटाता है)
df['column_name']

# एकाधिक कॉलम (DataFrame लौटाता है) - दोहरे कोष्ठक ध्यान दें
df[['col1', 'col2', 'col3']]

उदाहरण

import pandas as pd

dataFrame = pd.DataFrame({
    "Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
    "Opening_Stock": [300, 700, 1200, 1500],
    "Closing_Stock": [200, 500, 1000, 900]
})

print("मूल DataFrame:\n", dataFrame)

# 1. एकल कॉलम सबसेट (Series)
product_series = dataFrame['Product']
print("\nProduct कॉलम (Series):\n", product_series)
print(f"प्रकार: {type(product_series)}")

# 2. एकल कॉलम सबसेट (DataFrame) - दोहरे कोष्ठक
product_df = dataFrame[['Product']]
print("\nProduct कॉलम (DataFrame):\n", product_df)
print(f"प्रकार: {type(product_df)}")

# 3. एकाधिक कॉलम सबसेट
stock_df = dataFrame[['Opening_Stock', 'Closing_Stock']]
print("\nस्टॉक कॉलम:\n", stock_df)

# 4. कॉलम क्रम बदलना
reordered = dataFrame[['Closing_Stock', 'Opening_Stock', 'Product']]
print("\nपुनर्क्रमित कॉलम:\n", reordered)

आउटपुट

मूल DataFrame:
   Closing_Stock  Opening_Stock    Product
0            200            300     SmartTV
1            500            700  ChromeCast
2           1000           1200    Speaker
3            900           1500   Earphone

Product कॉलम (Series):
0      SmartTV
1    ChromeCast
2      Speaker
3     Earphone
Name: Product, dtype: object

Product कॉलम (DataFrame):
      Product
0     SmartTV
1   ChromeCast
2     Speaker
3    Earphone

स्टॉक कॉलम:
   Opening_Stock  Closing_Stock
0            300            200
1            700            500
2           1200           1000
3           1500            900

महत्वपूर्ण अंतर: Series vs DataFrame

सिंटैक्सपरिणाम प्रकारउपयोग
df['col']Seriesएकल कॉलम ऑपरेशन्स, प्लॉटिंग
df[['col']]DataFrameDataFrame ऑपरेशन्स, मर्ज, एक्सपोर्ट
df[['col1', 'col2']]DataFrameएकाधिक कॉलम चयन

उन्नत चयन तकनीकें

1. स्लाइसिंग के साथ कॉलम चुनें

# कॉलम इंडेक्स द्वारा (iloc के समान लेकिन कॉलम के लिए)
# Pandas में सीधा कॉलम स्लाइसिंग नहीं, लेकिन:
cols = dataFrame.columns[1:3]  # इंडेक्स 1, 2
subset = dataFrame[cols]
print("इंडेक्स 1-2 कॉलम:\n", subset)

2. फिल्टर/पैटर्न मैचिंग

# 'Stock' वाले कॉलम
stock_cols = dataFrame.filter(like='Stock')
print("Stock कॉलम:\n", stock_cols)

# 'Opening' से शुरू
opening_cols = dataFrame.filter(regex='^Opening')
print("Opening कॉलम:\n", opening_cols)

3. डेटा प्रकार के अनुसार चुनें

# केवल संख्यात्मक कॉलम
numeric = dataFrame.select_dtypes(include='number')
print("संख्यात्मक:\n", numeric)

# केवल ऑब्जेक्ट (स्ट्रिंग) कॉलम
object_cols = dataFrame.select_dtypes(include='object')
print("ऑब्जेक्ट:\n", object_cols)

4. शर्तानुसार कॉलम चुनें

# जिन कॉलम का माध्य > 500 है
high_mean_cols = dataFrame.columns[dataFrame.mean() > 500].tolist()
print("उच्च माध्य कॉलम:", high_mean_cols)
print(dataFrame[high_mean_cols])

सामान्य गलतियाँ

# गलत: एकल कॉलम के लिए सूची भूल जाना
# df['Product', 'Opening_Stock']  # KeyError!

# सही: दोहरे कोष्ठक
df[['Product', 'Opening_Stock']]  # DataFrame

# या लोक/इलोक उपयोग करें
df.loc[:, ['Product', 'Opening_Stock']]
df.iloc[:, [0, 1]]  # इंडेक्स द्वारा

प्रदर्शन नोट

  • कॉलम चयन O(1) ऑपरेशन है (डेटा कॉपी नहीं होता, व्यू बनता है)
  • बड़े DataFrames के लिए df.loc[:, cols] थोड़ा तेज़ हो सकता है
  • चेनिंग से बचें: df[df > 0]['col'] → df.loc[df > 0, 'col'] उपयोग करें
  1. पायथन पैंडास - इंटरपोलेशन मेथड का उपयोग करके NaN मान भरें पायथन पैंडास - इंटरपोलेशन मेथड का उपयोग करके NaN मान भरें

    NaN मान भरने के लिए interpolate() मेथड का उपयोग करें। मान लीजिए निम्नलिखित हमारी CSV फ़ाइल है जिसे माइक्रोसॉफ्ट एक्सेल में कुछ NaN मानों के साथ खोला गया है: CSV फ़ाइल से डेटा लोड करके पैंडास डेटाफ्रेम में डालें: dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\SalesData.csv) interpolate() के साथ

  1. Python/Pandas DataFrame में Matplotlib का उपयोग करके फ्रीक्वेंसी प्लॉट Python/Pandas DataFrame में Matplotlib का उपयोग करके फ्रीक्वेंसी प्लॉट

    Python/Pandas डेटाफ्रेम में Matplotlib का उपयोग करके फ्रीक्वेंसी प्लॉट दिखाने के लिए, हम निम्नलिखित चरण ले सकते हैं: फिगर आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें। एक फिगर और सबप्लॉट का सेट बनाएं। दो-आयामी, आकार-परिवर्तनीय, संभावित रूप से विषम सारणीबद्ध डेटा बनाएं। अद्

  1. पायथन का उपयोग करके स्टॉपवॉच बनाएं पायथन का उपयोग करके स्टॉपवॉच बनाएं

    स्टॉपवॉच का उपयोग दो घटनाओं के बीच के समय अंतराल को मापने के लिए किया जाता है, आमतौर पर सेकंड से मिनट तक। इसके विभिन्न उपयोग हैं जैसे खेल में या औद्योगिक सेटअप में गर्मी, करंट आदि के प्रवाह को मापना। पायथन का उपयोग इसकी ट्किंटर लाइब्रेरी का उपयोग करके स्टॉपवॉच बनाने के लिए किया जा सकता है। इस लाइब्र