5
मैं दो कॉलम 'ए' और 'बी' के साथ एक पांडा dataframe 'df' कर रहे हैं के साथ लागू होते हैं, मैं दो तर्कपांडा, आर्ग जो dataframe पंक्ति प्रविष्टियों
def myfunction(B, A):
# do something here to get the result
return result
और मैं चाहते हैं के साथ एक समारोह है इसे लागू करने के लिए पंक्ति-दर-पंक्ति 'लागू करें' समारोह
df['C'] = df['B'].apply(myfunction, args=(df['A'],))
का उपयोग कर df के लिए, लेकिन क्या यहाँ हो रहा मैं त्रुटि
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
मिल , ऐसा लगता है कि यह पूरी श्रृंखला के रूप में डीएफ ['ए'] लेता है! आवश्यकतानुसार उस श्रृंखला से केवल पंक्ति प्रविष्टि नहीं।
क्यों नहीं कर सकते मैं लागू समारोह के लिए 'आर्ग' तर्क का उपयोग करें? –
जांचें [यह] (http://stackoverflow.com/a/12183507/2901002)। – jezrael
@RunnerBean आप तर्क ठीक से पारित कर सकते हैं। 'लागू करें' स्वीकार करता है 'kwargs' ताकि आप इस तरह के तर्क पारित कर सकें: 'df [' B ']। लागू करें (myfunction, ए = डीएफ [' ए '])' लेकिन इस मामले में, यह एक बुरा विचार है जैसा आप होंगे प्रत्येक पंक्ति पर लागू एक समारोह में एक पूरी श्रृंखला गुजरती है। – piRSquared