Pandas Dataframe 활용 중 특정 조건을 만족하는 행만 추출하고 싶었다.
안녕하세요? 데이터위자드입니다.
Pandas 라이브러리로 즐거운 데이터 생활을 하고 있으신 분들은 특정조건을 만족하는 행만 추출하거나 삭제하는 작업을 꽤 자주 수행하실 것이라 생각됩니다. 저 또한, 업무나 개인적으로 활용 중인 주식 투자 RPA와 같은 경우에 종종 사용하게 되는데요. 오늘은 그중에서도 특정 조건을 만족하는 (혹은 포함하는) 행만 추출하는 예제를 살펴보도록 하겠습니다.
아마, 데이터 분석 업무를 하실 때 두고두고 사용하게 되실 것이라 사료됩니다.
오늘도 역시 사용할 파이썬 라이브러리는 Pandas가 되시겠습니다.
https://pypi.org/project/pandas/
데이터 분석이 필요한 경우에 Numpy와 더불어 거의 기본이 되는 라이브러리다 보니 파이썬으로 여러 가지 일을 하시는 분들이라면 한 번쯤 그 이름을 들어보셨을 테니 더 이상 부연설명이 필요하진 않을 것이라 생각됩니다.
Pandas 라이브러리 하나만을 다룬 굉장히 두꺼운 책이 있을 정도로 Pandas는 다재다능한 기능을 가지고 있으니, 시간을 가지고 천천히 공부하시길 권해드립니다.
pandas dataframe에서 특정 문자 포함 행 삭제하기
먼저, 데이터 프레임 처리를 위해 pandas 패키지를 import 하여 줍니다.
다음으로, 데이터프레임에서 특정 열의 데이터가 조건보다 크거나 작을 때를 가정해 보겠습니다.
예시를 위해,
- 원본 dataframe 변수명 : df
- 조건을 만족하는 열만 추출한 후 선언되는 dataframe 변수명 : df_sell
- 원본 dataframe에서 조건식을 걸 특정 열 : 'profit'
이라고 하고,
주식 투자 자동화 RPA에서 어떤 종목이 설정된 수익률을 초과하였을 때, df_sell이라는 dataframe 추출한 후 매도하는 시나리오라고 해보겠습니다.
먼저 'profit' 열에서 수익률이 30 % 이상 초과한 경우 익절 하는 경우를 상정해 봅시다
원본 데이터프레임에서 위 조건을 만족하는 행을 추출해 줍니다.
그리고, 수익률이 -10%를 하회하여 손절하는 경우도 생각해 보면,
역시 간단히 정리할 수 있겠습니다.
하지만, 익절과 손절 조건 중 하나라도 만족하는 경우(OR 조건)인 경우는 어떻게 해야 할까요?
위 두 개의 조건식을 각각 실행 후 dataframe을 합칠 수도 있겠지만, 간단하게 OR 조건을 걸어서 해결할 수도 있겠습니다.
dataframe에서 'OR' 조건은 | 기호로 합니다.
이후, 추출된 df_sell을 가지고 매도를 하든 알람을 띄우든 하면 우리가 원하는 기능 완성입니다.
참고하시어, 즐거운 데이터 생활 되시길 바랍니다.
* 본 포스팅에서 언급된 라이브러리, 단체는 필자와 무관함을 알립니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
도움이 되셨다면, 왼쪽 아래 '💗' 클릭 부탁드립니다. 감사합니다.
'맨땅에 프로그래밍 > Python 복기장' 카테고리의 다른 글
Python으로 미국 현지 Summer time 확인 자동화 하기 (feat. pytz) (2) | 2024.04.15 |
---|---|
List 자료형으로 Dataframe 만들기, 열(Columns) 복사하기, 열에 반복데이터 넣기 (0) | 2024.04.13 |
Python으로 적정 원달러 환율 구하기(feat. 달러 투자 무작정 따라하기) (0) | 2024.03.27 |
Fear & Greed Index(공탐지수) Python으로 가져오기 (0) | 2024.03.05 |
Dataframe에서 특정 단어를 포함한 행 삭제 하기(Feat. Pandas) (0) | 2023.06.27 |