브라이틱스(Brightics)에서 분석에 사용할 신규 변수를 만들 때 사용하는 Add Function Column
을 알아본다.
Extraction Pre-Processing
※ 본 내용은 Load
함수 블럭에서 sample_iris.csv 파일을 불러온 후에 진행한다.
개요
브라이틱스에서 신규 변수를 만들 수 있는 블럭은 Add Function Column
이외에도 Add Column
, Add Function Columns
, Query Executor
가 있다. 그 중에서 Add Column
보다는 살짝 복잡하지만 다양한 함수로 조건을 설정할 수 있는 것이 Add Function Column
블럭이 되겠다. SQL의 case
구문을 써봤다면 이 블럭을 사용하는데 무리가 없을 것이다.
※ Add Column
포스팅 바로가기 -> [클릭]
※ Add Function Columns
포스팅 바로가기 -> [클릭]
※ Query Executor
포스팅 바로가기 -> [클릭]
이 함수 블럭을 불러올때는 특이하게 다음과 같이 검색창에 fun 을 입력하면 첫 화면에서 바로 볼 수 있다.
설정
Add Function Column
블럭의 설정창은 다음과 같다.
New Column Name 에는 새로 만들 변수명을 입력할 수 있다.
Expression Type 에는 SQLite 문법을 사용할 것인지 Python 문법을 사용할 것인지 설정할 수 있다. 둘 중에서 SQLite 문법 사용을 권장한다.
Expression 에는 각 문법에 맞는 코드를 사용하는데 SQLite의 문법을 사용하는 경우 주로 case 구문을 사용한다.
결과
특정한 값이 하나 들어 있는 경우의 결과는 다음과 같다.
특정 변수에 간단한 연산을 하는 경우의 결과는 다음과 같다.
특정 변수에 조건문을 넣어 연산을 하는 경우의 결과는 다음과 같다.
Expression 부분에 대문자로 된 것은 전부 SQL의 case 구문 문법이다. 해당 문법은 CASE WHEN [조건] THEN [조건을 만족하는 경우 출력값] ELSE [조건을 만족하지 않는 경우 출력값] END 이고 빈번하게 사용되기 때문에 꼭 암기하도록 하자.
특정 변수에 조건문을 넣지만 조건을 만족하지 않을 경우 원래 값 그대로를 출력하는 경우의 결과는 다음과 같다.
단, 이 경우는 숫자 1과 기존 species 변수의 값이 문자이기 때문에 원소의 속성이 달라서(int와 string) 문제가 발생한다. 그래서 숫자 1을 작은 따옴표로 감싸주었다.