판 기능에 해당 hlookup 은 excel

0

질문

이 df"creditor_life_rates_tranpose"는 조회 테이블:

enter image description here

나를 찾기 위해 노력하는 값에 따라 열쇠"age"및"term_years"및 저장을 기초 데이터를 프레임"응용 프로그램"입니다.

에 대한 테스트 데이터에 기초 데이터 프레임"application"담 열"age","term_years"값으로 49 3.8 게 되었습니다.

기초 데이터 프레임 응용 프로그램은 다음과 같습니다.

age, terms_years
49, 3.8

우리는 나이를 49 에 위치한 테이블 조회 하지만 이후 3.8 에 없 term_years 의 열을 조회 테이블이 필요해요 그것을 사용하여 가장 높은 값을 낮보다 3.8. 이 경우에는 것 3.5. 따라서 값을 반환해야 하는 21.40.

하려고 했던 작성에 이 기능을 사용하여 꼬리(1)돌아 마지막 값에 따라 ageterms_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))

내가 기대하는 이 결과 데이터 프레임:

age, terms_years, results
49, 3.8, 21.40

그러나 나는 이 오류가 발생할 수 있습니다. enter image description here

방법,코드가 작동하는 경우 내가 값을 전달음이지만 실제 열 응용 프로그램의 데이터 프레임. 지만 실제로 통과하는 열이 있습니다.

application['result'] = hlookup_function(49,3.8)
dataframe function pandas python
2021-11-24 04:36:22
1

최고의 응답

0

이 기능 pd.merge_asof 작업을 수행합을 찾고 있었고 상당 hlookup 은 기능 Excel.

application_data2 = pd.merge_asof(application_data.sort_values(by=['term_years_lookup'],ascending=True)
,creditor_life_rates_tranpose.sort_values(by=['term_years_lookup'],ascending=True), 
on='term_years_lookup',by ='age_lookup')
2021-11-24 13:41:42

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................