학습 및 테스트를 위한 데이터 정리 중 정규식을 쓰는데 계속 잊어버려 따로 정리하려 한다.
우선 내가 정리하려는 데이터의 이름들은 아래와 같다.
x1_002_1_0
x1_002_2_0
x1_002_3_0
x1_002_4_0
x1_002_5_0
x1_002_6_0
....
x2_345_6_0
여기서 나는
빨간색 index들을 training set으로 쓰고
파란색 index들을 validation set으로 쓰고
보라색 index들을 testing set으로 쓰려고 한다.
물론 파이썬 반복문을 사용해서 index로 접근할 수 있지만 편하게 정규식을 사용하려고 한다.
정규식표현 할 때 아래 사이트를 이용하면 미리 expression을 시험해볼 수 있다.
training set을 정규식으로 가져오는 걸 해보자.
(training set만 해도 validation과 testing set은 안해도 알 수 있음)
위 빨간색 파일들을 가져오는 표현은 아래와 같이 만들 수 있다.
f[\d]_[\d]+_([1-4])_0
p = re.compile("f[\d]_[\d]+_([1-4])_0")
그런데 전체 파일들은 리스트 형식으로 되어 있어 findall 대신 아래 명령어를 사용하려 새로운 리스트로 만들었다.
train_list = list(filter(p.match, ori_list)) # ori_list는 탐색할 전체 파일 리스트
'Language&Framework&Etc > Python' 카테고리의 다른 글
from win32com.shell import shellcon, shell ImportError: DLL load failed while importing shell: 지정된 프로시저를 찾을 수 없습니다. (0) | 2022.07.19 |
---|---|
@staticmethod 와 @classmethod (0) | 2022.03.07 |
사이킷런 KFold, StratifiedKFold (0) | 2022.01.20 |
Visual Studio Code에서 내부 라이브러리 디버깅 하는 방법 (0) | 2021.10.25 |
Multiprocessing 파이썬 (0) | 2021.10.15 |