2015-02-09 8 views
5

के साथ दो डेटाफ्रेम घटाएं मैं दो डेटाफ्रेम को एक साथ घटाने की कोशिश कर रहा हूं। मुझे याद आ मूल्यों 0. fillna() यहाँ काम नहीं करेगा के रूप में, क्योंकि मैं घटाव करने से पहले आम अनुक्रमित नहीं जानता कि इलाज के लिए करना चाहते हैं: आदर्श रूप मेंगैर ओवरलैपिंग इंडेक्स

import pandas as pd 

A = pd.DataFrame([1,2], index=['a','b']) 
B = pd.DataFrame([3,4], index=['a','c']) 
A - B 

    0 
a -2 
b NaN 
c NaN 

, मैं करना चाहते हैं:

A - B 

    0 
a -2 
b 2 
c -4 

क्या कोड को सरल रखते हुए इसे प्राप्त करना संभव है?

उत्तर

5

आप subtract विधि का उपयोग करें और शून्य का एक fill_value निर्दिष्ट कर सकते हैं:

A.subtract(B, fill_value=0) 

नोट: नीचे विधि, combineAdd, 0.17.0 बाद से is deprecated

एक तरह से जोड़ने के लिए -BA को combineAdd विधि का उपयोग करने के लिए है:

>>> A.combineAdd(-B) 
    0 
a -2 
b 2 
c -4 
इस पद्धति से

, दो DataFrames जोड़ रहे हैं और कम से मूल्यों में मूल्य के लिए गैर-मिलान सूचकांक डिफ़ॉल्ट या तो A या B

संबंधित मुद्दे