2017-03-23 2 views
1

나는 데이터 과학에 관심이 있고 나는 knime에 아주 새롭다. Excel의 데이터 그룹화에 대한 질문이 있습니다. 두 개의 열이있는 xlsx 파일이 있습니다. xlsx 파일에는 2000 명에 대한 정보가 있습니다. 이 정보 제목은 A 열에 있으며 infos는 B 열에 있습니다. 데이터에서 한 사람의 정보가 완료되면 다른 사람의 데이터 순서가 시작됩니다. A 열에는 약 10 개의 고유 한 제목이 있습니다. 사람들은이 제목 중 일부를 가지고 있습니다. 아마도 일부 사람들은 모두 가지고 있습니다. 내가하고 싶은 일은 A 열의 고유 한 제목으로 열의 데이터를 변환하고 B 열의 데이터를 행에 쓰는 것입니다. 그러나 어떻게? 다음, 당신은 각 행이 속한 그룹을 식별하는 데이터에 열을 추가 할 필요가 That is what i wantknime에서 고유 한 값으로 행을 그룹화하는 방법은 무엇입니까?

+0

HiTS에는 [Pivot] (https://raw.githubusercontent.com/aborg0/hits/master/com.mind_era.knime.util/html/nodes/Pivot.html) 노드가 있는데, 예제를 확인하십시오. 그룹의 길이가 다르므로 그룹 루프 시작, 전치, 그룹 루프 종료 솔루션을 쉽게 수행 할 수 없습니다. 어쩌면 파이썬, R 또는 뭔가 다른 도움을 줄 수 있습니다. –

답변

1

을 : That is how my data looks : 내 데이터의 모양과 두 번째 사진은 내가하고 싶은 것을 얼마나

첫 번째 사진입니다 피벗 노드를 사용하여 원하는 방식으로 변환 할 수 있습니다.

가장 쉬운 방법은 위의 셀 값을 반환하는 수식을 사용하는 Excel에서 A 열의 셀이 "name"과 같은 경우 1을 더하는 것입니다. 각 변경에 대해 1 씩 증가하는 숫자를 부여합니다 이름.

Excel 원본을 변경할 수없는 경우 KNIME에서 수행하는 가장 좋은 방법은 Gábor의 제안에 따라 Java, R 또는 Python 스 니펫을 사용하는 것입니다.당신이 정말로 순수한 KNIME에서하고 싶지 그러나, 여기 느리고 정교한 워크 플로 :

다음과 같이 노드를 구성 할 필요가 KNIME workflow to add group IDs

: 테이블을 리턴

  • 엑셀 리더 열이있는 Col0Col1
  • 일대 다에는 Col0이 포함되지만 Col1은 제외됩니다.이 giv Col0name (다른 가능한 값의 각도 열,하지만 우리는이를 사용하지 않습니다)입니다
  • 하는 테이블 구조을 만들 때마다 Group 0
  • 열이 appender라는 이름의 1 개 정수 열은 우리에게 하나를 포함하는 name 열을 만듭니다 말이지 비 동일 행의 키 및 테이블의 길이에 대해 구성되고, 값 누락
  • 는 고정 값 0
와 숫자 값이 누락 대신 첫 번째 테이블에서 로우 키를 사용하여 테이블 같아야 이때

- 이전 값을 취 순환 루프 내부

KNIME table

,

  • 수학 식 수식 $Group 0$+$${Iname}$$와 열 Group 0 대체 Group 0을 추가하고 테이블의 현재 반복의 첫 번째 행에서 name의 값을 추가합니다 (테이블 행을 통해 변수)
  • 행 분할 자은 '숫자로 행 포함'으로 구성되어 행 2 - 끝을 위쪽 포트로, 행 1을 하단 포트로 출력합니다. 바이 Col1

    KNIME table 2

    마지막 피벗 노드 Group 0의 그룹으로 구성되고, 피봇 Col0에 골재 :

Group 0 칼럼은 이제 각각의 이름에 증분 값을 포함 First 방법, 부여 :

당신이 필요에 따라 필터링, 재정렬 등을 할 수 있습니다.

일대일을 제외하고 간단히 수학 수식을 구성하여 Col0의 변수가 '이름'과 같을 때마다 1을 더하도록 설정할 수는 있지만 처음부터 작동하도록 할 수는 없습니다 그 것처럼.

name이 항상 테이블의 각 사람에 대한 첫 번째 행인 경우에만 작동하지만, 그렇지 않은 경우 명확하게 데이터를 해석 할 수있는 방법이 표시되지 않습니다.

누군가가 더 빠르고 간결한 KNIME 구현을 가지고 있다면 나는 그것을 보게 될 것이다!

관련 문제