Skip to main content

특성 생성

수식을 사용하여 새로운 열을 생성하는 노드입니다.


설명

특성 생성 노드는 기존 데이터를 기반으로 수식을 사용하여 새로운 열을 생성합니다.

@ 기호를 사용하여 기존 열을 참조하고, 다양한 연산자와 함수를 사용하여 새로운 특성을 만들 수 있습니다.


포트 구성

입력 포트

  • 데이터셋

출력 포트

  • 데이터셋: 새로운 특성이 생성된 데이터셋

속성

새 열 이름

생성될 특성의 이름을 입력합니다.

수식

특성 생성 시 사용할 수식을 입력합니다.

@열이름 형식으로 기존 열을 참조할 수 있습니다.

예시:

  • @나이 * 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'

사용 방법

  1. 노드를 캔버스에 추가합니다
  2. 데이터셋을 입력 포트에 연결합니다
  3. 속성에서 새 열 이름을 입력합니다
  4. 속성에서 수식을 작성합니다 (@ 기호로 기존 열 참조)
  5. 노드를 실행하면 새로운 열이 추가됩니다

수식 예시:

목적수식
총점 계산@국어 + @영어 + @수학
평균 계산(@국어 + @영어 + @수학) / 3
할인가 계산@가격 * 0.9
성인 여부'성인' if @나이 >= 19 else '미성년'
BMI 계산@몸무게 / pow(@키, 2)