eval 함수

정성현·2022년 10월 12일
0

회사에서 업무를 보다 팀 동료로부터 엑셀을 판다스 데이터프레임으로 불러왔을 때, string type으로 불러오는데, 이를 리스트 형식 그 자체로 불러오고 싶은데 방법이 없겠냐는 질문을 받았다. 한번도 고민해보지 않았던 문제라 궁금증이 생겼다. 위 데이터프레임에서 0번째 행을 불러오면,'[0.533, 0.232, 0.55]' 이런 형태로 불러와서 리스트 각각의 값을 참조할 수 없는 상황이었다.

정규식을 활용해서 숫자 하나하나를 따로따로 불러와야하나 싶었지만, 구글링 결과 생각보다 해결방법은 간단했다.

파이썬의 내장함수인 eval() 함수를 사용하니 리스트를 덮고 있던 따옴표(')를 드디어 해치울 수 있었다.
데이터 프레임 하나의 열 전체를 바꿔야 하는 상황이었기에 apply 함수를 사용하여, df['embedding'] = df['embedding'].apply(eval)을 이용하여 한 줄로 처리해 주었다.

conclusion

아직도 파이썬을 100% 활용하지 못하고 있는 것 같다. 함수나 다양한 기능들을 발견하면 블로그에 그때그때 정리해 놔야겠다.

profile
데이터에 관심이 많은 백엔드 개발자

0개의 댓글