पांडा: वे पंक्तियाँ प्राप्त करें जो किसी अन्य डेटाफ़्रेम में नहीं हैं


आप पांडा डेटाफ़्रेम से पंक्तियाँ प्राप्त करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं जो किसी अन्य डेटाफ़्रेम में नहीं हैं:

 #merge two DataFrames and create indicator column
df_all = df1. merge ( df2.drop_duplicates (), on=[' col1 ',' col2 '],
                   how=' left ', indicator= True )

#create DataFrame with rows that exist in first DataFrame only
df1_only = df_all[df_all[' _merge '] == ' left_only ']

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: पांडा डेटाफ़्रेम में ऐसी पंक्तियाँ प्राप्त करना जो किसी अन्य डेटाफ़्रेम में नहीं हैं

आइए मान लें कि हमारे पास निम्नलिखित दो पांडा डेटाफ़्रेम हैं:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'], 
                    ' points ': [12, 15, 22, 29, 24]}) 

print (df1)

  team points
0 to 12
1 B 15
2 C 22
3 D 29
4 E 24

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'D', 'F', 'G', 'H'],
                    ' points ': [12, 29, 15, 19, 10]})

print (df2)

  team points
0 to 12
1 D 29
2 F 15
3 G 19
4:10 a.m.

हम दो डेटाफ़्रेम को मर्ज करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं और यह इंगित करने के लिए एक संकेतक कॉलम बना सकते हैं कि कौन सी पंक्तियाँ प्रत्येक डेटाफ़्रेम से संबंधित हैं:

 #merge two DataFrames and create indicator column
df_all = df1. merge ( df2.drop_duplicates (), on=[' team ',' points '],
                   how=' left ', indicator= True )

#view result
print (df_all)

फिर हम पहले डेटाफ़्रेम से केवल वे पंक्तियाँ प्राप्त करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं जो दूसरे डेटाफ़्रेम में नहीं हैं:

 #create DataFrame with rows that exist in first DataFrame only
df1_only = df_all[df_all[' _merge '] == ' left_only ']

#view DataFrame
print (df1_only)

  team points _merge
1 B 15 left_only
2 C 22 left_only
4 E 24 left_only

अंत में, यदि हम चाहें तो _मर्ज कॉलम को हटा सकते हैं:

 #drop '_merge' column
df1_only = df1_only. drop (' _merge ', axis= 1 )

#view DataFrame
print (df1_only)

  team points
1 B 15
2 C 22
4 E 24

परिणाम एक डेटाफ़्रेम है जिसमें सभी पंक्तियाँ पहले डेटाफ़्रेम में मौजूद हैं लेकिन दूसरे डेटाफ़्रेम में नहीं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य कार्य कैसे करें:

पांडा में एक डेटाफ़्रेम से दूसरे डेटाफ़्रेम में कॉलम कैसे जोड़ें
पांडा में कॉलम क्रम कैसे बदलें
पंडों में नाम के आधार पर कॉलम कैसे क्रमबद्ध करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *