특성 생성
수식을 사용하여 새로운 열을 생성하는 노드입니다.
설명
특성 생성 노드는 기존 데이터를 기반으로 수식을 사용하여 새로운 열을 생성합니다.
@ 기호를 사용하여 기존 열을 참조하고, 다양한 연산자와 함수를 사용하여 새로운 특성을 만들 수 있습니다.
포트 구성
입력 포트
- 데이터셋
출력 포트
- 데이터셋: 새로운 특성이 생성된 데이터셋
속성
새 열 이름
생성될 특성의 이름을 입력합니다.
수식
특성 생성 시 사용할 수식을 입력합니다.
@열이름 형식으로 기존 열을 참조할 수 있습니다.
예시:
@나이 * 2: 나이 열의 값을 2배로@가격 * 1.1: 가격 열의 값에 10% 추가@국어 + @영어 + @수학: 세 과목 점수의 합
수식 문법
지원하는 연산자
사칙연산:
+: 덧셈-: 뺄셈*: 곱셈/: 나눗셈
비교 연산: (결과: True / False)
>: 크다>=: 크거나 같다<: 작다<=: 작거나 같다==: 같다!=: 다르다
비트 연산:
&: AND (그리고)|: OR (또는)~: NOT (부정)
수학 함수
abs(x): 절댓값pow(x, y): 제곱 (x의 y승)sqrt(x): 제곱근mod(x, y): 나머지 (x를 y로 나눈 나머지)ln(x): 자연로그 (밑이 e)log(x): ln과 동일log2(x): 이진 로그 (밑이 2)log10(x): 상용 로그 (밑이 10)exp(x): 지수 함수 (e의 x승)ceil(x): 올림floor(x): 버림round(x): 반올림
문자열 함수
len(str): 문자열 길이upper(str): 모두 대문자로lower(str): 모두 소문자로substr(str, start, end): start번째부터 end번째 글자까지 (0부터 시작)replace(str, old, new): old를 new로 치환contains(str, pattern): pattern이 포함되어 있는지 (True/False)startswith(str, pattern): pattern으로 시작하는지 (True/False)endswith(str, pattern): pattern으로 끝나는지 (True/False)in(str, col1, col2, ...): 주어진 열들 중 str과 일치하는 내용이 있는지 (True/False)
조건문
[True일 때 값] if [조건] else [False일 때 값]
예시:
'pass' if @점수 >= 60 else 'fail': 60점 이상이면 'pass', 아니면 'fail''yes' if 2 > 1 else 'no': 결과는 'yes'
사용 방법
- 노드를 캔버스에 추가합니다
- 데이터셋을 입력 포트에 연결합니다
- 속성에서 새 열 이름을 입력합니다
- 속성에서 수식을 작성합니다 (
@기호로 기존 열 참조) - 노드를 실행하면 새로운 열이 추가됩니다
수식 예시:
| 목적 | 수식 |
|---|---|
| 총점 계산 | @국어 + @영어 + @수학 |
| 평균 계산 | (@국어 + @영어 + @수학) / 3 |
| 할인가 계산 | @가격 * 0.9 |
| 성인 여부 | '성인' if @나이 >= 19 else '미성년' |
| BMI 계산 | @몸무게 / pow(@키, 2) |