पांडा: एकाधिक स्तंभों से मानों को एक में कैसे मर्ज करें
आप पांडा डेटाफ़्रेम के एकाधिक कॉलम से मानों को एक कॉलम में समूहित करने के लिए निम्न विधियों का उपयोग कर सकते हैं:
विधि 1: मानों को डिफ़ॉल्ट कॉलम क्रम से मर्ज करें
df[' coalesce '] = df. bfill (axis= 1 ). iloc [:, 0]
विधि 2: विशिष्ट कॉलम ऑर्डर का उपयोग करके मान मर्ज करें
df[' coalesce '] = df[[' col3 ', ' col1 ', ' col2 ']]. bfill (axis= 1 ). iloc [:, 0]
निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ व्यवहार में प्रत्येक विधि का उपयोग कैसे करें:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' points ': [np.nan, np.nan, 19, np.nan, 14], ' assists ': [np.nan, 7, 7, 9, np.nan], ' rebounds ': [3, 4, np.nan, np.nan, 6]}) #view DataFrame print (df) points assists rebounds 0 NaN NaN 3.0 1 NaN 7.0 4.0 2 19.0 7.0 NaN 3 NaN 9.0 NaN 4 14.0 NaN 6.0
विधि 1: मानों को डिफ़ॉल्ट कॉलम क्रम से मर्ज करें
निम्नलिखित कोड दिखाता है कि मर्ज किए गए मान के रूप में तीन कॉलम में पहले गैर-शून्य मान का उपयोग करके, पॉइंट, सहायता और रिबाउंड कॉलम से मानों को एक कॉलम में कैसे मर्ज किया जाए:
#create new column that contains first non-null value from three existing columns
df[' coalesce '] = df. bfill (axis= 1 ). iloc [:, 0]
#view updated DataFrame
print (df)
points assists rebounds coalesce
0 NaN NaN 3.0 3.0
1 NaN 7.0 4.0 7.0
2 19.0 7.0 NaN 19.0
3 NaN 9.0 NaN 9.0
4 14.0 NaN 6.0 14.0
यहां बताया गया है कि मर्ज कॉलम में मान कैसे चुना गया:
- पहली पंक्ति: पहला गैर-शून्य मान 3.0 था।
- दूसरी पंक्ति: पहला गैर-शून्य मान 7.0 था।
- तीसरी पंक्ति: पहला गैर-शून्य मान 19.0 था।
- चौथी पंक्ति: पहला गैर-शून्य मान 9.0 था।
- पांचवीं पंक्ति: पहला गैर-शून्य मान 14.0 था।
विधि 2: विशिष्ट कॉलम ऑर्डर का उपयोग करके मान मर्ज करें
निम्नलिखित कोड दिखाता है कि निम्नलिखित क्रम में कॉलम का विश्लेषण करके तीन कॉलम में मानों को कैसे मर्ज किया जाए: सहायता, रिबाउंड, अंक।
#coalesce values in specific column order
df[' coalesce '] = df[[' assists ', ' rebounds ', ' points ']]. bfill (axis= 1 ). iloc [:, 0]
#view updated DataFrame
print (df)
points assists rebounds coalesce
0 NaN NaN 3.0 3.0
1 NaN 7.0 4.0 7.0
2 19.0 7.0 NaN 7.0
3 NaN 9.0 NaN 9.0
4 14.0 NaN 6.0 6.0
यहां वह तर्क है जिसका उपयोग यह तय करने के लिए किया गया था कि मर्ज कॉलम में कौन सा मान रखा जाए:
- यदि सहायक कॉलम में मान शून्य नहीं है, तो उस मान का उपयोग करें।
- अन्यथा, यदि बाउंस कॉलम में मान शून्य नहीं है, तो उस मान का उपयोग करें।
- अन्यथा, यदि अंक कॉलम में मान शून्य नहीं है, तो उस मान का उपयोग करें।
नोट : आप bfill() फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य ऑपरेशन कैसे करें:
पंडों में दो स्तंभों को कैसे संयोजित करें
पंडों में विशिष्ट स्तंभों का योग कैसे करें
पंडों में एकाधिक स्तंभों के आधार पर कैसे क्रमबद्ध करें