मैं दो डेटाफ्रेम में एक ही नाम के कॉलम के बीच अंतर कैसे चुन सकता हूं? मेरा मतलब है कि मेरे पास डेटा नाम ए है और एक्स नामक कॉलम के साथ डेटा नाम बी है, यदि मैं pd.merge(A, B, on=['X'])
करता हूं, तो मुझे ए और बी के सामान्य एक्स मान मिलेंगे, लेकिन मैं "गैर-आम" कैसे प्राप्त कर सकता हूं ?पांडा (पायथन) में "एंटी-मर्ज"
7
A
उत्तर
14
आप how='outer'
और indicator=True
को मर्ज प्रकार बदलते हैं, तो यह एक स्तंभ जोड़ देगा आपको बताने के लिए कि क्या मान छोड़ दिया जाता है/दोनों/सही केवल:
In [2]:
A = pd.DataFrame({'x':np.arange(5)})
B = pd.DataFrame({'x':np.arange(3,8)})
print(A)
print(B)
x
0 0
1 1
2 2
3 3
4 4
x
0 3
1 4
2 5
3 6
4 7
In [3]:
pd.merge(A,B, how='outer', indicator=True)
Out[3]:
x _merge
0 0.0 left_only
1 1.0 left_only
2 2.0 left_only
3 3.0 both
4 4.0 both
5 5.0 right_only
6 6.0 right_only
7 7.0 right_only
फिर आप परिणामी पर df विलय कर दिया फ़िल्टर कर सकते हैं _merge
col:
In [4]:
merged = pd.merge(A,B, how='outer', indicator=True)
merged[merged['_merge'] == 'left_only']
Out[4]:
x _merge
0 0.0 left_only
1 1.0 left_only
2 2.0 left_only
तुम भी isin
का उपयोग करें और मुखौटा नकारना सकता मूल्यों बी में नहीं लगता है:
In [5]:
A[~A['x'].isin(B['x'])]
Out[5]:
x
0 0
1 1
2 2
संबंधित मुद्दे
- 1. पायथन पांडा
- 2. पायथन: पांडा डेटाफ्रेम
- 3. पायथन पांडा: डेटाफ्रेम
- 4. पायथन: पांडा - समूह
- 5. पायथन पांडा ..Series.str.contains पूर्ण शब्द
- 6. साजिश पांडा या matplotlib पायथन
- 7. पायथन: परिशुद्धता पांडा टाइमस्टैम्प dataframe
- 8. पायथन पांडा: पांडा आयात करते समय numpy.core.multiarray नहीं मिल सकता
- 9. पांडा
- 10. पायथन पांडा: विधिबद्ध डेटाफ्रेम को कॉलम जोड़ें
- 11. पायथन पांडा - पिछला डिलीमीटर भ्रमित read_csv
- 12. पांडा, ओओपी कक्षाएं, और डिकट्स (पायथन)
- 13. पायथन: पांडा एकाधिक डेटाफ्रेम मर्ज करें
- 14. पायथन और पांडा - मूविंग औसत क्रॉसओवर
- 15. पायथन पांडा: रिवर्स डीएफ कॉलम ऑर्डर
- 16. पायथन: एनाकोंडा इंस्टॉल करने के बाद, पांडा
- 17. पांडा में
- 18. पायथन पांडा में एक सह-घटना मैट्रिक्स का निर्माण
- 19. पायथन पांडा में डेटाफ्रेम से विशेष पंक्तियों को हटाने
- 20. पायथन पांडा के साथ कई कॉलम में चयन?
- 21. तारीख इंडेक्स के साथ पांडा में एक पंक्ति छोड़ना, पायथन
- 22. पाइथन पांडा
- 23. पांडा डेटाफ्रेम
- 24. पांडा
- 25. पांडा
- 26. पांडा
- 27. पांडा
- 28. पांडा
- 29. पांडा
- 30. पांडा
आप केवल ~ ~ ए ['एक्स'] कर सकते हैं। Isin (बी ['एक्स']) 'ए के लिए अद्वितीय मानों को देखने के लिए और विपरीत – EdChum
विपरीत करने के विपरीत रिवर्स भी मुझे लगता है कि' pd.merge (ए, बी, ऑन = ['एक्स'], सूचक = सही, कैसे = 'बाहरी') 'काम करेगा' के रूप में काम करेगा '_merge' col' और इसमें मूल्यों को 'left_only',' right_only' होगा, यह इंगित करने के लिए कि क्या मान केवल बाएं/दाएं हैं – EdChum