2016-04-04 22 views
5

मैं दो dataframes है के बाद एक dataframe में स्तंभ मान की जगह, पहले 1000 पंक्तियां हैं और दिखाई देता है:एक और dataframe के मूल्यों

Date   Group   Family  Bonus 
2011-06-09  tri23_1  Laavin  456 
2011-07-09  hsgç_T2  Grendy  679 
2011-09-10  bbbj-1Y_jn Fantol  431 
2011-11-02  hsgç_T2  Gondow  569 

स्तंभ Group विभिन्न मूल्यों है, कभी कभी दोहराया है, लेकिन के बारे में सामान्य रूप में 50 अद्वितीय मूल्य।

Group    Hotel 
tri23_1   Jamel 
hsgç_T2   Frank 
bbbj-1Y_jn  Luxy 
mlkl_781   Grand Hotel 
vchs_94   Vancouver 

मेरा लक्ष्य पहले के स्तंभ Group में मूल्य को बदलने के लिए है:

दूसरा dataframe इन सभी 50 अद्वितीय मान (50 पंक्तियाँ) और भी होटल, जो इन मूल्यों से जुड़े होते हैं दूसरे डेटाफ्रेम के कॉलम Hotel के संबंधित मानों द्वारा डेटाफ्रेम/या संबंधित मानों के साथ कॉलम Hotel बनाएं। जब मैं की तरह

df1.loc[(df1.Group=df2.Group), 'Hotel']=df2.Hotel 

सिर्फ काम से इसे बनाने के लिए प्रयास करते समय मुझे त्रुटि है dataframes तो तुलना संभव

उत्तर

9

नहीं है आप 'समूह' के सूचकांक सेट करते हैं, बराबर आकार के नहीं हैं दूसरी ओर स्तंभ तो df आप अपने मूल df पर map का उपयोग कर जगह ले सकता है 'समूह' कॉलम:

In [36]: 
df['Group'] = df['Group'].map(df1.set_index('Group')['Hotel']) 
df 

Out[36]: 
     Date Group Family Bonus 
0 2011-06-09 Jamel Laavin 456 
1 2011-07-09 Frank Grendy 679 
2 2011-09-10 Luxy Fantol 431 
3 2011-11-02 Frank Gondow 569 
+0

जब मैं ऐसा करते हैं, मुझे एक त्रुटि संदेश, किसी भी विचार क्यों मिलता है? अमान्य इंडेक्स त्रुटि: रीइन्डेक्सिंग केवल विशिष्ट मूल्यवान इंडेक्स ऑब्जेक्ट्स के साथ मान्य – mkheifetz

+1

यदि आपके पास अपने कॉलम में अद्वितीय मान नहीं हैं तो आप इंडेक्स को – EdChum

+0

hmmm पर सेट नहीं कर सकते हैं, तो मुझे क्या करना चाहिए यदि मेरे पास एक बड़ा डेटाफ्रेम है जहां मैं सभी चाहता हूं कॉलम (कॉलम गैर अद्वितीय हैं जैसा आपने अभी कहा है) किसी अन्य डेटाफ्रेम में कॉलम में मानों के अनुरूप मानों को चुनने के लिए? – mkheifetz

0

तुम भी एक शब्दकोश बना सकते हैं और प्रयोग लागू होते हैं:

hotel_dict = df2.set_index('Group').to_dict() 
df1['Group'] = df1['Group'].apply(lambda x: hotel_dict[x]) 
संबंधित मुद्दे