मान लीजिए, मेरे पास कॉलम A
, B
और C
के साथ एक पांडा डेटा फ्रेम df
है। मैं कॉलम पर अंकगणितीय ऑपरेटर से पंक्ति-वार न्यूनतम गणना करना चाहता हूं, विशेष रूप से df['D']=min(df['A']+dF['B']*3, df['C']*np.sqrt(12))
। मैंने संबंधित प्रश्न देखे हैं, और ऐसा प्रतीत होता है कि मुझे पहले min
फ़ंक्शन में तर्कों के लिए दो कॉलम बनाने होंगे, और वे axis =1
के min
का प्रदर्शन करेंगे। मैं सोच रहा था कि अस्थायी कॉलम बनाये बिना कोई और तरीका था या नहीं।
1 उत्तर
नए कॉलम बनाए बिना, आप apply
का उपयोग कर सकते हैं:
df['D'] = df.apply(lambda x: min(x['A'] + x['B']*3, x['C']*np.sqrt(12), axis=1)
लेकिन यह सबसे अच्छा है बस करें:
df['D'] = np.mininum(df['A']+dF['B']*3, df['C']*np.sqrt(12))
जो दो मध्यवर्ती कॉलम/श्रृंखला बनाता है लेकिन वेक्टराइजेशन के लिए बहुत तेज़ धन्यवाद है।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।