अपने इंडेक्स पर पांडास डेटाफ्रेम्स को कुशलतापूर्वक मर्ज करना
पांडास डेटा हेरफेर के लिए शक्तिशाली उपकरण प्रदान करता है, और डेटाफ्रेम्स को मर्ज करना एक सामान्य कार्य है। जब आपके डेटाफ्रेम्स में एक सामान्य इंडेक्स होता है, तो कुशल मर्जिंग के लिए इस साझा जानकारी का लाभ उठाना महत्वपूर्ण है। यह लेख उनके इंडेक्स के आधार पर पांडास डेटाफ्रेम्स को मर्ज करने के सर्वोत्तम तरीकों का पता लगाता है, जिसमें join()
विधि को पसंदीदा तकनीक के रूप में केंद्रित किया गया है।
विषयसूची
- इंडेक्स-आधारित मर्ज के लिए
join()
विधि का उपयोग करना - इंडेक्स-आधारित मर्ज के लिए
merge()
को समझना (कम पसंदीदा) - अपनी आवश्यकताओं के लिए सर्वोत्तम विधि चुनना
इंडेक्स-आधारित मर्ज के लिए join()
विधि का उपयोग करना
join()
विधि विशेष रूप से उनके इंडेक्स के आधार पर डेटाफ्रेम्स को मर्ज करने के लिए डिज़ाइन की गई है। यह इंडेक्स-आधारित संचालन के लिए merge()
का उपयोग करने की तुलना में एक स्वच्छ और अक्सर अधिक कुशल समाधान प्रदान करता है। इसका सहज सिंटैक्स इसे समझना और लागू करना आसान बनाता है।
यहाँ एक उदाहरण दिया गया है:
import pandas as pd
# नमूना डेटाफ्रेम्स
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['X', 'Y', 'Z'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['Y', 'Z', 'X'])
# इंडेक्स पर डेटाफ्रेम्स को जोड़ना
joined_df = df1.join(df2, how='inner') # 'inner', 'outer', 'left', 'right' सभी मान्य विकल्प हैं।
print(joined_df)
यह कोड उनके इंडेक्स के आधार पर df1
और df2
को मर्ज करता है। how
पैरामीटर जॉइन के प्रकार को निर्दिष्ट करता है: 'inner'
(केवल मिलान इंडेक्स), 'outer'
(सभी इंडेक्स), 'left'
(df1
से इंडेक्स), या 'right'
(df2
से इंडेक्स)। डिफ़ॉल्ट एक लेफ्ट जॉइन है।
इंडेक्स-आधारित मर्ज के लिए merge()
को समझना (कम पसंदीदा)
हालांकि मुख्य रूप से कॉलम-आधारित जॉइन के लिए डिज़ाइन किया गया है, merge()
फ़ंक्शन इंडेक्स-आधारित मर्ज को भी संभाल सकता है। हालाँकि, इसके लिए स्पष्ट रूप से left_index
और right_index
पैरामीटर को True
पर सेट करने की आवश्यकता होती है, जिससे कोड कम पठनीय और join()
की तुलना में संभावित रूप से कम कुशल हो जाता है।
यहाँ बताया गया है कि आप merge()
का उपयोग करके समान मर्ज कैसे प्राप्त करेंगे:
import pandas as pd
# नमूना डेटाफ्रेम्स (ऊपर के समान)
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['X', 'Y', 'Z'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['Y', 'Z', 'X'])
# merge() का उपयोग करके इंडेक्स पर डेटाफ्रेम्स को मर्ज करना
merged_df = pd.merge(df1, df2, left_index=True, right_index=True, how='inner')
print(merged_df)
अपनी आवश्यकताओं के लिए सर्वोत्तम विधि चुनना
पांडास में इंडेक्स-आधारित मर्जिंग के लिए, join()
विधि को आम तौर पर अनुशंसित किया जाता है। इसका स्पष्ट सिंटैक्स और अक्सर बेहतर दक्षता इसे अधिकांश परिदृश्यों के लिए बेहतर विकल्प बनाती है। merge()
का उपयोग केवल तभी करें जब आपको इंडेक्स-आधारित जॉइन के साथ कॉलम-आधारित जॉइन के लचीलेपन की आवश्यकता हो, या यदि आपके पास इसकी कार्यक्षमता को प्राथमिकता देने के विशिष्ट कारण हैं।