अपने पंडों के डेटाफ़्रेम को कैसे क्वेरी करें
SQL-जैसे पायथन फ़ंक्शंस पर एक डेटा वैज्ञानिक का दृष्टिकोण।
By मैथ्यू Przybyla, सीनियर डेटा साइंटिस्ट फ़ेवर डिलीवरी पर
द्वारा फोटो ब्रूस होंग on Unsplash [1]
विषय - सूची
- परिचय
- एकाधिक शर्तें
- एकाधिक, विशिष्ट स्तंभों पर विलय
- सारांश
- संदर्भ
परिचय
चाहे आप डेटा इंजीनियर/डेटा विश्लेषक से बदलाव कर रहे हों या अधिक कुशल डेटा वैज्ञानिक बनना चाहते हों, आपके डेटाफ़्रेम को क्वेरी करना आपके इच्छित विशिष्ट पंक्तियों को वापस करने का एक उपयोगी तरीका साबित हो सकता है। यह ध्यान रखना महत्वपूर्ण है कि पांडा के लिए एक विशिष्ट क्वेरी फ़ंक्शन है, जिसे उचित नाम दिया गया है, query
. हालाँकि, मैं इसके बजाय उन अन्य तरीकों पर चर्चा करूँगा जिनसे आप अपने डेटा को क्वेरी करने, फ़िल्टर करने और मर्ज करने की नकल कर सकते हैं। हम सामान्य परिदृश्य या प्रश्न प्रस्तुत करेंगे जो आप अपने डेटा से पूछेंगे, और SQL के बजाय, हम इसे Python के साथ करेंगे। नीचे दिए गए पैराग्राफ में, मैं पायथन प्रोग्रामिंग भाषा के साथ आपके पांडा डेटाफ्रेम के लिए पंक्तियों को क्वेरी करने के कुछ सरल तरीकों की रूपरेखा तैयार करूंगा।
एकाधिक शर्तें
नमूना डेटा। लेखक का स्क्रीनशॉट [2]।
डेटा वैज्ञानिक या डेटा विश्लेषक के रूप में, हम डेटा की विशिष्ट पंक्तियाँ लौटाना चाहते हैं। इनमें से एक परिदृश्य वह है जहां आप कोड की एक ही पंक्ति में कई शर्तें लागू करना चाहते हैं। अपना उदाहरण प्रदर्शित करने के लिए, मैंने पहले और अंतिम नाम के साथ-साथ उनके संबंधित लिंग और जन्मतिथि के कुछ नकली नमूना डेटा बनाए हैं। यह डेटा ऊपर स्क्रीनशॉट में प्रदर्शित है।
उदाहरण की एकाधिक स्थितियाँ अनिवार्य रूप से एक विशिष्ट प्रश्न का उत्तर देंगी, ठीक वैसे ही जैसे जब आप SQL का उपयोग करते हैं। सवाल यह है कि हमारे डेटा का कितना प्रतिशत पुरुष लिंग है OR एक व्यक्ति जिसका जन्म 2010 और 2021 के बीच हुआ है।
यहां वह कोड है जो उस प्रश्न को हल करेगा (इस प्रश्न का उत्तर देने के कुछ तरीके हैं, लेकिन इसे करने का मेरा विशिष्ट तरीका यहां है):
print(“Percent of data who are Males OR were born between 2010 and 2021:”, 100*round(df[(df[‘Gender’] == ‘M’) | (df[‘Birthdate’] >= ‘2010–01–01’) & (df[‘Birthdate’] <= ‘2021–01–01’)][‘Gender’].count()/df.shape [0],4), “%”)
इस कोड को बेहतर ढंग से देखने के लिए, मैंने आउटपुट/परिणाम के साथ ऊपर से उसी कोड का स्क्रीनशॉट भी शामिल किया है। आप कुल पंक्तियों में से पंक्तियों का अंश या प्रतिशत निकालने के बजाय वास्तविक पंक्तियों को वापस लाने के लिए भी इन शर्तों को लागू कर सकते हैं।
शर्तें कोड. लेखक द्वारा स्क्रीनशॉट [3]।
हमारे द्वारा निष्पादित आदेशों का क्रम यहां दिया गया है:
- पुरुष के साथ पंक्तियाँ लौटाएँ
Gender
- को शामिल करें OR समारोह
|
- की पंक्तियाँ लौटाएँ
Birthdate
> 2010 और 2021 - उन सभी को मिलाएं, और फिर पंक्तियों की कुल संख्या से विभाजित करें
जैसा कि आप देख सकते हैं, यह कोड कुछ वैसा ही है जैसा आप SQL में देखेंगे। मैं व्यक्तिगत रूप से सोचता हूं कि पांडा में यह आसान है क्योंकि इसमें कम कोड हो सकते हैं, साथ ही ऊपर और नीचे स्क्रॉल किए बिना सभी कोड को एक आसान स्थान पर देखने में सक्षम होना (लेकिन यह प्रारूप सिर्फ मेरी प्राथमिकता है).
एकाधिक, विशिष्ट स्तंभों पर विलय
मर्ज किए गए डेटाफ़्रेम परिणाम। लेखक द्वारा स्क्रीनशॉट [4]।
हमने संभवतः अन्य ट्यूटोरियल्स में देखा है कि डेटाफ़्रेम को एक साथ कैसे मर्ज किया जाता है, इसलिए मैं एक अनूठा दृष्टिकोण जोड़ना चाहता था जो मैंने वास्तव में वहां नहीं देखा है, जो कई, विशिष्ट कॉलमों पर विलय कर रहा है। इस परिदृश्य में, हम दो डेटाफ़्रेमों को जोड़ना चाहते हैं जहाँ उनके बीच दो फ़ील्ड साझा किए जाते हैं। आप बता सकते हैं कि यदि और भी अधिक कॉलम हैं, तो यह विधि और भी उपयोगी हो सकती है।
हमारे पास हमारा पहला डेटाफ़्रेम है, जो df है, फिर हम अपने कॉलम को दूसरे डेटाफ़्रेम, df2 पर मर्ज कर रहे हैं। हमारा अपेक्षित परिणाम प्राप्त करने के लिए वह कोड यहां दिया गया है:
merged_df = df.merge(df2, how=’inner’, left_on=cols, right_on=cols )
इस विलय और कोड को बेहतर ढंग से देखने के लिए, मैंने नीचे स्क्रीनशॉट प्रस्तुत किया है। आप नीचे देखें कि दूसरा डेटाफ़्रेम कैसा दिखता है First
और Last
नाम, जैसे वे पहले डेटाफ़्रेम में हैं, लेकिन एक नए कॉलम के साथ, Numeric
. फिर, हमारे पास विशिष्ट कॉलम हैं जिन्हें हम कॉलम लौटाते समय मर्ज करना चाहते थे Gender
, Birthdate
, और नया Numeric
कॉलम भी. कॉलम, कॉलमों की एक सूची है, जिसे नाम दिया गया है cols
.
डेटाफ़्रेम को मर्ज करना। लेखक द्वारा स्क्रीनशॉट [5]।
जैसा कि आप देख सकते हैं, डेटाफ़्रेम को मर्ज करने का यह तरीका वही परिणाम प्राप्त करने का एक सरल तरीका है जो आप SQL क्वेरी से प्राप्त करेंगे।
सारांश
इस ट्यूटोरियल में, हमने दो सामान्य प्रश्न या क्वेरीज़ देखीं जिन्हें आप SQL में निष्पादित करेंगे, लेकिन इसके बजाय, हमने उन्हें Python में पांडा डेटाफ़्रेम के साथ निष्पादित किया है।
संक्षेप में कहें तो, यहां वे दो परिदृश्य हैं जिनके साथ हमने काम किया है:
- एकाधिक स्थितियों से कुल डेटासेट में से पंक्तियों का प्रतिशत लौटाना
- एक नए कॉलम के साथ अंतिम डेटाफ्रेम वापस करने के लिए एकाधिक, विशिष्ट कॉलमों को मर्ज करना
मुझे आशा है कि आपको मेरा लेख रोचक और उपयोगी दोनों लगा होगा। यदि आप इन तरीकों से सहमत या असहमत हैं तो कृपया बेझिझक नीचे टिप्पणी करें। क्यों या क्यों नहीं? इन्हें निश्चित रूप से और भी अधिक स्पष्ट किया जा सकता है, लेकिन मुझे आशा है कि मैं उन कुछ तरीकों पर कुछ प्रकाश डालने में सक्षम था जिनसे आप SQL के बजाय पांडा और पायथन का उपयोग कर सकते हैं। पढ़ने के लिए आपका शुक्रिया!
कृपया बेझिझक मेरी प्रोफ़ाइल देखें, मैट प्रिज़ीबला, और अन्य लेख, साथ ही लिंक्डइन पर मुझसे संपर्क करें।
मैं इन कंपनियों से संबद्ध नहीं हूं.
संदर्भ
[1] फोटो द्वारा ब्रूस होंग on Unsplash(2018)
[2] एम. प्रिज़ीबायला, नमूना डेटा स्क्रीनशॉट, (2021)
[3] एम. प्रिज़ीबायला, शर्तें कोड स्क्रीनशॉट, (2021)
[4] एम. प्रिज़ीबायला, मर्ज किए गए डेटाफ़्रेम परिणाम स्क्रीनशॉट, (2021)
[5] एम. प्रिज़ीबायला, डेटाफ़्रेम स्क्रीनशॉट को मर्ज करना, (2021)
जैव: मैथ्यू Przybyla फ़ेवर डिलीवरी में वरिष्ठ डेटा वैज्ञानिक और विशेष रूप से डेटा विज्ञान में एक स्वतंत्र तकनीकी लेखक हैं।
मूल। अनुमति के साथ पुनर्प्रकाशित।
संबंधित:
स्रोत: https://www.kdnuggets.com/2021/08/query-pandas-dataframe.html
- "
- &
- 2021
- सब
- विश्लेषक
- विश्लेषिकी
- लेख
- लेख
- स्वत:
- कोड
- स्तंभ
- सामान्य
- कंपनियों
- तिथि
- डेटा संसाधन
- डेटा विज्ञान
- आँकड़े वाला वैज्ञानिक
- ध्यान लगा के पढ़ना या सीखना
- प्रसव
- निदेशक
- इंजीनियर
- इंजीनियर्स
- उल्लू बनाना
- फ़ील्ड
- प्रथम
- प्रारूप
- मुक्त
- फ्रीलांस
- समारोह
- लिंग
- GPUs
- यहाँ उत्पन्न करें
- कैसे
- How To
- HTTPS
- IT
- में शामिल होने
- भाषा
- जानें
- सीख रहा हूँ
- प्रकाश
- लाइन
- लिंक्डइन
- सूची
- यंत्र अधिगम
- ML
- नामों
- ऑनलाइन
- खुला
- खुला स्रोत
- आदेश
- अन्य
- परिप्रेक्ष्य
- वर्तमान
- प्रोफाइल
- प्रोग्रामिंग
- अजगर
- परिणाम
- विज्ञान
- वैज्ञानिकों
- साझा
- सरल
- कौशल
- So
- हल
- Spot
- एसक्यूएल
- कहानियों
- तकनीकी
- सुझावों
- ऊपर का
- ट्यूटोरियल
- ट्यूटोरियल
- कौन
- लेखक
- X