वहाँ है इस df "creditor_life_rates_tranpose
"है जो किसी लुकअप तालिका:
मैं कोशिश कर रहा हूँ देखने के लिए मूल्य के आधार पर चाबियाँ "age
"और "term_years
"और स्टोर करने के लिए वापस अपने बेस डेटा फ्रेम "आवेदन"है.
के लिए परीक्षण के आंकड़ों के आधार dataframe "application
"स्तंभ हैं "age
", "term_years
"मूल्यों के साथ 49 और 3.8 सम्मान है.
आधार dataframe आवेदन नीचे है:
age, terms_years
49, 3.8
हम देखते हैं कि उम्र 49 में स्थित है लुक-अप तालिका लेकिन जब से 3.8 में स्थित नहीं है term_years
स्तंभ के लुक-अप तालिका मैं की जरूरत है यह देखने के लिए का उपयोग कर उच्चतम मूल्य से कम है जो 3.8. इस मामले में यह होगा 3.5. इसलिए मूल्य होना चाहिए, जो लौट आया है 21.40.
मैं करने की कोशिश की थी लिखने के लिए इस समारोह का उपयोग कर पूंछ(1) वापस करने के लिए केवल अंतिम मूल्य पर आधारित age
और terms_years
से लुक-अप तालिका
def hlookup_function(age, terms_year):
result= creditor_life_rates_tranpose[(creditor_life_rates_tranpose['age']== age) & (creditor_life_rates_tranpose['term_years'] <= terms_year)]['value'].tail(1).values[0]
return result
फिर मैं कॉल के समारोह में इस तरह:
application['result'] = hlookup_function(application.age,(application_data.term_years).round(2))
मैं उम्मीद कर रहा था प्राप्त करने के लिए इस के रूप में जिसके परिणामस्वरूप Dataframe:
age, terms_years, results
49, 3.8, 21.40
लेकिन मैं इस त्रुटि हो रही है:
वैसे, इस कोड काम करता है अगर मैं पास इस तरह से मूल्यों, लेकिन नहीं वास्तविक कॉलम के आवेदन dataframe. लेकिन मैं की जरूरत है वास्तव में करने के लिए पास के कॉलम.
application['result'] = hlookup_function(49,3.8)