pandas 의 filter 함수로 변수 선택하기
2020. 5. 19. 22:46ㆍ분석 Python/Pandas Tip
1. regex를 이용해서 특정 조건을 만족하는 변수만 찾아보기
a 에서는 _ 다음에 숫자 1~9 , 영어 a-z , 한글 가-힣 이 나오면 선택하기
b 에서는 _ 다음에 숫자 0~5 , 영어 a-z 나오면 선택하기
col = ["a_1111","a_23.0","a_3_rk","a_가","a_a", "a_0.0"] + ["b_1","b_2","b_89","b_가","b_a","b_0"]
arr = np.random.uniform(size=(10,len(col)))
data = pd.DataFrame(arr, columns=col)
can = ["a","b"]
filters = "_[1-9a-zA-Z가-힣]|".join(can)+"_[0-5a-zA-Z]"
filters
data.filter(regex = filters , axis = 1)
2. 앞,뒤 조건을 여러개 조건들중 하나를 맞추고 중간에는 아무거나 뽑기
예) 앞에는 c또는 d가 오고 중간에는 아무거나 나오고 맨 끝에는 a또는 b인 것을 찾는 정규식 표현 방법
data.filter(regex="^(c|d)[\d\D\w\W\s\S]+(a|b)$")
예시들
끝~
728x90
'분석 Python > Pandas Tip' 카테고리의 다른 글
pandas useful tip (0) | 2020.06.25 |
---|---|
pandas apply를 사용하여 다중 컬럼(multiple columns) 만들기 (0) | 2020.06.09 |
[ Python ] 정형데이터 용량 줄이는 함수 소개 (연속형, 이산형, 문자형) (0) | 2020.04.12 |
pandas describe에 결측데이터 개수 포함해서 표현해보기 (0) | 2020.04.08 |
[ Python ] pandas 읽고 쓰기 비교 (to_csv , to_pickle , to_feather) (1) | 2019.12.21 |