2015-10-12 40 views
15

मैं आईडी जानकारी के साथ एक dataframe df_a मिल गया है:पांडा स्तंभ बाँध (cbind) दो डेटा फ्रेम

unique_id lacet_number 
15 5570613 TLA-0138365 
24 5025490 EMP-0138757 
36 4354431 DXN-0025343 

और एक अन्य dataframe df_b, पंक्तियों कि मैं df_a में पंक्तियों के अनुरूप पता की समान संख्या के साथ :

unique_id lacet_number  latitude longitude 
0  5570613 TLA-0138365 -93.193560 31.217029 
1  5025490 EMP-0138757 -93.948082 35.360874 
2  4354431 DXN-0025343 -103.131508 37.787609 
0123:

 latitude longitude 
0 -93.193560 31.217029 
1 -93.948082 35.360874 
2 -103.131508 37.787609 

मुझे क्या करना चाहते हैं बस दो cbind और मिलता है

मैं क्या कोशिश की है:

df_c = pd.concat([df_a, df_b], axis=1) 

जो मुझे एक बाहरी देता है में शामिल हो।

unique_id lacet_number latitude longitude 
0   NaN   NaN -93.193560 31.217029 
1   NaN   NaN -93.948082 35.360874 
2   NaN   NaN -103.131508 37.787609 
15 5570613 TLA-0138365   NaN  NaN 
24 5025490 EMP-0138757   NaN  NaN 
36 4354431 DXN-0025343   NaN  NaN 

समस्या यह है कि दो डेटाफ्रेम के सूचकांक मेल नहीं खाते हैं। मैंने pandas.concat के लिए प्रलेखन पढ़ा, और देखा कि "ignore_index" विकल्प है। लेकिन यह केवल कॉन्सटेनेशन अक्ष पर लागू होता है, मेरे मामले में कॉलम और यह निश्चित रूप से मेरे लिए सही विकल्प नहीं है। तो मेरा सवाल है: क्या यह हासिल करने का एक आसान तरीका है?

+2

क्षमा क्यों कर सकते हैं ' टी आप बस 'df_c = pd.concat ([df_a.reset_index(), df_b], अक्ष = 1) '? – EdChum

+0

@EdChum, टिप के लिए धन्यवाद। यह समस्या हल हो गई। आपके प्रश्न का उत्तर यह है कि मुझे इस समारोह के बारे में पता नहीं था। मैंने रेनडेक्स की कोशिश की, जो स्पष्ट रूप से इस उद्देश्य के लिए नहीं था। क्या आप अपनी टिप्पणी को उत्तर में बदलना चाहते हैं? मैं इसे स्वीकार करूंगा। – breezymri

उत्तर

28

क्या आप वाकई सूचकांक पंक्ति मान एक ही तो सूचकांक संरेखण आदेश तो बस reset_index() कहते हैं, यह आपके सूचकांक मूल्यों वापस रीसेट कर देगा 0 से शुरू करने के लिए से बचने के लिए कर रहे हैं कर रहे हैं:

df_c = pd.concat([df_a.reset_index(drop=True), df_b], axis=1) 
संबंधित मुद्दे