본문 바로가기

Python/그때 이걸 알았더라면..

[Pandas] apply 사용 시 index 활용 꿀팁

별거 아닌거 같지만..나름 한참 헤매이다 찾은거라 포스팅 해놓는다.

 

나는 lambda를 주로 사용하기보다는 좀 더 직관적으로 사용할 수 있는 apply를 애용한다

오늘도 custom함수를 만들어 apply를 하던 중 애로사항이 발생하였는데..

 

custom함수에서 적용하려는 DataFrame의 index에 접근해야하는데 뭘해도 안되는 경우였다

x.index를 아무리 찍어봐도 DataFrame 전체 index를 반환할뿐이였다 한참 구글링하다가 

역시 stack overflow에 모든 답이있음을 다시 한번 느꼈다.

 

name 이라는 메서드를 사용하면 인덱스를 해당 row별 index를 반환할수 있다!

 

def get_index(x):
	print(x.name) ## row별 index 반환
    
df.apply(get_index,axis=1)