मेरे पास दो पांडा डेटाफ्रेम हैं
df1 = pd.DataFrame({'A': [1, 3, 5], 'B': [3, 4, 5]})
df2 = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [8, 9, 10, 11, 12], 'C': ['K', 'D', 'E', 'F', 'G']})
दोनों डेटा-फ्रेम का सूचकांक 'ए' है।
df1 के कॉलम 'बी' के मानों को df2 कॉलम 'बी' के मानों से कैसे बदलें?
Df1 का परिणाम:
A B 1 8 3 10 5 12
2 जवाब
शायद dataframe.isin()
वही है जो आप खोज रहे हैं:
df1['B'] = df2[df2['A'].isin(df1['A'])]['B'].values
print(df1)
प्रिंट:
A B
0 1 8
1 3 10
2 5 12
संभावित समाधानों में से एक:
wrk = df1.set_index('A').B
wrk.update(df2.set_index('A').B)
df1 = wrk.reset_index()
परिणाम है:
A B
0 1 8
1 3 10
2 5 12
मर्ज पर आधारित एक अन्य समाधान:
df1 = df1.merge(df2[['A', 'B']], how='left', on='A', suffixes=['_x', ''])\
.drop(columns=['B_x'])
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।