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

Pandas में filter() से कॉलम सबसेट बनाना

Pandas DataFrame में filter() विधि का उपयोग करके कॉलम नाम पैटर्न के आधार पर सबसेट बनाया जा सकता है। यह रेगुलर एक्सप्रेशन, प्रीफिक्स, सफिक्स आदि से कॉलम चुनने में उपयोगी है।

मुख्य पैरामीटर्स

पैरामीटरविवरण
likeसबस्ट्रिंग मैच (कहीं भी)
regexरेगुलर एक्सप्रेशन पैटर्न
itemsसटीक कॉलम नामों की सूची
axis0=पंक्तियाँ, 1=कॉलम (डिफ़ॉल्ट)

उदाहरण

import pandas as pd

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

print("मूल DataFrame:\n", dataFrame)
print("\nकॉलम नाम:", list(dataFrame.columns))

# 1. इंडेक्सिंग ऑपरेटर से सिंगल कॉलम
print("\nकेवल Product कॉलम:")
print(dataFrame[['Product']])

# 2. इंडेक्सिंग ऑपरेटर से एकाधिक कॉलम
print("\nOpening_Stock और Closing_Stock:")
print(dataFrame[['Opening_Stock', 'Closing_Stock']])

# 3. filter(like='Open') - 'Open' वाले कॉलम
print("\n'Open' वाले कॉलम (like):")
print(dataFrame.filter(like='Open'))

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

# 5. filter(regex='^Opening') - 'Opening' से शुरू होने वाले
print("\n'Opening' से शुरू होने वाले (regex):")
print(dataFrame.filter(regex='^Opening'))

# 6. filter(regex='_Stock$') - '_Stock' से खत्म होने वाले
print("\n'_Stock' से खत्म होने वाले (regex):")
print(dataFrame.filter(regex='_Stock$'))

# 7. filter(items=[]) - सटीक नाम
print("\nनिर्दिष्ट कॉलम (items):")
print(dataFrame.filter(items=['Product', 'Opening_Stock']))

आउटपुट

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

कॉलम नाम: ['Closing_Price', 'Closing_Stock', 'Opening_Price', 'Opening_Stock', 'Product']

'Open' वाले कॉलम (like):
   Opening_Price  Opening_Stock
0           1000            300
1           2000            700
2            500           1200
3            800           1500

'Stock' वाले कॉलम:
   Closing_Stock  Opening_Stock
0            200            300
1            500            700
2           1000           1200
3            900           1500

'Opening' से शुरू होने वाले (regex):
   Opening_Price  Opening_Stock
0           1000            300
1           2000            700
2            500           1200
3            800           1500

पंक्तियों को फ़िल्टर करना (axis=0)

# इंडेक्स लेबल के आधार पर पंक्तियाँ फ़िल्टर करें
df_indexed = dataFrame.set_index('Product')
print("\nProduct को इंडेक्स बनाकर:")
print(df_indexed.filter(like='Smart', axis=0))  # 'Smart' से शुरू होने वाले इंडेक्स
print(df_indexed.filter(regex='^E', axis=0))    # 'E' से शुरू होने वाले इंडेक्स

filter() vs इंडेक्सिंग ऑपरेटर []

  • df[['col1', 'col2']]: सटीक नाम पता होने पर तेज़ और सीधा
  • df.filter(like='pattern'): पैटर्न मैचिंग के लिए, डायनामिक कॉलम चयन
  • df.filter(regex='pattern'): जटिल पैटर्न के लिए
  • filter() कॉलम न मिलने पर एरर नहीं देता (खाली DataFrame लौटाता है)

उन्नत रेगुलर एक्सप्रेशन उदाहरण

# संख्या वाले कॉलम
df.filter(regex=r'\d')

# विशिष्ट पैटर्न: Opening_ या Closing_ से शुरू
df.filter(regex='^(Opening|Closing)_')

# केस-इनसेंसिटिव मैच
df.filter(regex='(?i)stock')  # stock, Stock, STOCK सभी मैच
  1. पायथन - सीबॉर्न के साथ लाइन प्लॉट का उपयोग करके टाइम सीरीज प्लॉट बनाएं पायथन - सीबॉर्न के साथ लाइन प्लॉट का उपयोग करके टाइम सीरीज प्लॉट बनाएं

    टाइम सीरीज प्लॉट बनाने के लिए lineplot() का उपयोग करें। सबसे पहले, आवश्यक लाइब्रेरी आयात करें:import seaborn as sb import pandas as pd import matplotlib.pyplot as pltएक DataFrame बनाएं जिसमें एक कॉलम तारीख के रूप में हो यानी Date_of_Purchase:dataFrame = pd.DataFrame({Date_of_Purchase: [2018-07-25, 2

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

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

  1. पायथन का उपयोग करके वर्ड क्लाउड बनाना पायथन का उपयोग करके वर्ड क्लाउड बनाना

    इस समस्या में, एक फाइल है जिसमें कुछ टेक्स्ट है। हमें उन टेक्स्ट से वर्ड क्लाउड बनाना है और एक मास्किंग इमेज। प्रोग्राम वर्ड क्लाउड इमेज को png फॉर्मेट में स्टोर करेगा।इस समस्या को लागू करने के लिए, हमें पायथन की कुछ लाइब्रेरीज़ का उपयोग करने की आवश्यकता है। लाइब्रेरीज़ हैं: matplotlib, wordcloud, n