Betav2.4.4 기준

MyDataScience 사용 가이드

데이터를 열고, 살펴보고, 그래프를 그리고, 모델을 만들기까지 기능별로 정리했습니다. 같은 내용을 앱 안에서도 도움말 → 사용 가이드 로 볼 수 있습니다.

01

데이터 열기 & 저장

파일 열기

  • 새 데이터 (Ctrl+N) — 화면을 비우고 새 파일을 엽니다
  • 파일 열기 (Ctrl+O) — CSV 또는 Excel(.xlsx) 파일 불러오기
  • 데이터 추가 X (Ctrl+X) — 현재 데이터 오른쪽에 컬럼을 이어 붙입니다
  • 데이터 추가 Y (Ctrl+Y) — 현재 데이터 아래쪽에 행을 이어 붙입니다
  • Join / Merge (Ctrl+J) — 키 컬럼 기준 두 데이터 병합 (Inner / Left / Right / Outer)

파일 저장

  • 저장 (Ctrl+S) — 현재 데이터를 CSV로 저장
  • 분할 저장 — 데이터를 n등분하여 여러 파일로 나눠 저장

💡 100만 행 이상 대용량 파일은 DuckDB가 자동으로 고속 처리합니다. 별도 설정이 필요하지 않습니다.

되돌리기

  • Return to Previous (Ctrl+Z) — 직전 상태로 되돌리기 (최대 10단계)
  • Return to Origin — 처음 로드한 원본 상태로 완전 복원
앱을 처음 열었을 때의 시작 화면. 가진 파일이 없어도 아래 샘플 데이터로 바로 시작할 수 있습니다.
CSV 를 연 직후. 창 제목에 전체 행수와 지금 화면에 표시 중인 행수가 함께 나옵니다.

02

테이블 탐색

컬럼 선택

  • 헤더 클릭 — 해당 컬럼 선택 (파란색 하이라이트)
  • Shift + 헤더 클릭 — 첫 번째 선택 컬럼부터 범위 선택
  • Ctrl + 헤더 클릭 — 원하는 컬럼만 개별 추가 선택
  • 헤더 드래그 (좌↔우) — 마우스로 컬럼 순서 변경

데이터 확인

  • 하단 상태바에 현재 행 × 열 수가 표시됩니다
  • 100행 초과 시 상단·중간·하단 샘플만 표시 (원본 데이터는 유지)
  • 헤더 우클릭 → Statistics Summary — 해당 컬럼의 평균·표준편차·최소·최대·분위수 확인

데이터 유형 확인 방법

각 컬럼의 데이터 유형(dtype)·결측값 수·메모리 사용량을 확인하려면:

  • 메뉴 → Data Operation → Data information — 전체 컬럼 유형·결측·메모리를 한눈에
  • 메뉴 → Data Operation → Data Statistic Result — 전체 컬럼 기술통계 (describe)

데이터 유형별 가능한 기능

  • 숫자형 (int/float) — 정렬·필터·정규화·계산·Statistics Summary·시각화 전부 가능
  • 문자형 (object) — 필터·삭제·그룹바이·빈도 시각화 가능
  • 날짜형 (datetime) — 시계열 정렬·필터 가능
컬럼 헤더를 클릭하면 그 컬럼 전체가 선택됩니다.
Data Operation 메뉴. Data information 으로 컬럼별 자료형·결측·메모리를 한 번에 봅니다.

03

데이터 조작

메뉴 항목설명
Sort Ascending오름차순 정렬
Sort Descending내림차순 정렬
Filter Values값 목록 선택 또는 범위 조건 필터
Delete Column(s)선택 컬럼 삭제 (다중 선택 가능)
Rename Column컬럼 이름 변경
NormalizeMin-Max (0~1) 또는 Z-Score 정규화
Calculate두 컬럼 사칙연산 → 새 컬럼 추가
Statistics Summary평균·표준편차·최소·최대·분위수
Visualize (Ctrl+우클릭)선/막대/산점도/히스토그램/박스플롯 — Ctrl 키를 누른 채 우클릭해야 나타남
Group By그룹별 집계 (합계·평균·최대·최소·개수)
Correlation Matrix수치 컬럼 간 상관관계 히트맵
Probability Distribution정규·포아송·지수 분포 피팅

💡 Ctrl+클릭으로 여러 컬럼 선택 → 우클릭: 일괄 삭제·계산 / Ctrl+우클릭: 시각화

필터 사용법

  • 숫자형: 범위 (최솟값~최댓값) 또는 조건 (≥, ≤, =) 입력
  • 문자형: 포함할 값을 체크박스로 선택
  • 필터 해제: 헤더 우클릭 → Remove Filter 또는 Return to Previous
컬럼 헤더를 우클릭하면 정렬·필터·삭제·정규화·기술통계가 한 메뉴에 나옵니다.
필터는 조건별로 나뉘어 있습니다 — 값보다 큼·같음·작음·사이·같지 않음.
Group By 결과. 지역별 매출 합계를 구한 화면이며, CSV 로 저장할 수 있습니다.

04

시각화

컬럼을 고른 뒤 Ctrl + 헤더 우클릭

컬럼 헤더를 먼저 선택한 뒤 Ctrl 키만 누른 채로 헤더를 우클릭하면 메뉴에 그래프 항목이 한 줄 나타납니다.

고른 컬럼메뉴에 나오는 문구그려지는 그래프
1개plot Column 컬럼명숫자 컬럼이면 선 그래프·히스토그램·박스플롯을 한 화면에 함께. 문자 컬럼이면 값 빈도 막대그래프
2개plot Columns for Two Columns A and B둘 다 숫자면 산점도. 한쪽이 문자면 항목별 값 분포와 평균. 둘 다 문자면 조합별 빈도
3개 이상plot Multiple Columns컬럼마다 한 칸씩 나눠서 함께 그립니다

⚠ Ctrl 없이 우클릭하면 정렬·필터·삭제 메뉴가 열립니다. 컬럼을 Ctrl+클릭으로 고른 뒤 손을 뗐다면, 우클릭하기 전에 Ctrl 을 다시 누르세요. Shift 가 함께 눌려 있어도 그래프 항목이 나오지 않습니다.

💡 그래프 종류는 고르지 않습니다 — 고른 컬럼의 자료형을 보고 앱이 정합니다. 숫자여야 할 컬럼이 문자로 읽혀 있으면 기대와 다른 그래프가 나오니, 그럴 때는 자료형부터 확인하세요.

그래프는 브라우저 새 탭에 열립니다

그래프는 앱 창이 아니라 기본 브라우저의 새 탭에 그림으로 열립니다. 앱이 응답하지 않는 것처럼 보이면 브라우저를 확인해 보세요.

저장하려면 그림 위에서 우클릭 → 이미지를 다른 이름으로 저장을 쓰세요.

상관관계 한눈에 보기

메뉴바 Correlation → Linear Correlation Matrix — 수치 컬럼들끼리 얼마나 함께 움직이는지를 한 장의 표로 보여줍니다. 값이 1에 가까우면 같이 오르고, -1에 가까우면 반대로 움직이며, 0에 가까우면 관계가 거의 없다는 뜻입니다.

Data Analysis 고급 시각화

  • 분포 시각화 — 히스토그램 + KDE 곡선
  • 상관 히트맵 — 수치 컬럼 간 피어슨 상관계수
  • Pairplot — 컬럼 쌍의 산점도 행렬
  • 이상치 시각화 — IQR 기반 박스플롯
두 컬럼을 고르고 Ctrl 을 누른 채 우클릭하면 그래프 항목이 한 줄 나타납니다.
Month 와 Sales 를 고른 결과. 월별로 매출이 흩어진 정도와 평균(진한 점)이 함께 보입니다. 그래프는 브라우저 탭에 열립니다.
Correlation → Linear Correlation Matrix. 빨강은 같이 오르는 관계, 파랑은 반대로 움직이는 관계입니다.

05

코드 에디터

메뉴 → Calculate Data로 파이썬 코드를 직접 작성하고 실행합니다.

기본 변수 — 직접 실행해서 확인해보세요

result = df      # df(현재 데이터)를 result에 담기
                 # → 아래 결과창에 테이블로 표시되고
                 #   Return Result 버튼으로 메인 테이블에 반영 가능
  • df — 현재 메인 테이블에 로드된 전체 데이터 (pandas DataFrame)
  • result — 코드 실행 후 결과창에 표시되는 값. DataFrame이면 표로, 숫자·문자면 텍스트로 출력됩니다

자주 쓰는 pandas 코드

result = df.head()                        # 상위 5행
result = df.shape                         # (행 수, 열 수)
result = df.describe()                    # 기술통계
result = df.dtypes                        # 컬럼별 데이터 유형
result = df['컬럼명']                     # 단일 컬럼
result = df[df['나이'] > 30]           # 조건 필터
result = df.groupby('지역')['매출'].sum() # 그룹 집계
result = df.sort_values('매출', ascending=False)  # 정렬
result = df.dropna()                      # 결측값 제거
result = df.fillna(0)                     # 결측값 → 0

mIO — 결과 출력 & UI 함수

함수설명
mIO.print(값)텍스트·DataFrame을 결과창에 출력
mIO.show_df(df2)계산 결과를 메인 테이블에 즉시 반영
mIO.form([{'label':'이름','type':'text'}])입력 폼 UI 생성
mIO.sliders([{'label':'k','min':2,'max':10}])슬라이더 UI 생성
mIO.progress(현재, 전체)진행률 표시
mIO.interactive_plot(fig)matplotlib 그래프를 새 창에 표시

버튼 설명 (1줄)

버튼기능
Run편집창 코드 전체 실행
Code Refactor중복·오류·연결 끊긴 코드 자동 정리
Return Resultresult에 담긴 DataFrame을 메인 테이블에 반영
Save Resultresult DataFrame을 CSV 파일로 저장
🌐Claude / ChatGPT 웹 사이트 열기 (AI 질문 보조)

버튼 설명 (2줄 — 파일)

버튼기능
Load File저장된 스크립트를 불러와 편집창 내용 교체
Append File저장된 스크립트를 편집창 끝에 이어 붙임
Save (Overwrite)현재 파일에 덮어쓰기 저장 (파일 없으면 Save As)
Save As...새 이름으로 저장 (.mpy / .py)

💡 오류가 발생하면 메시지를 그대로 복사해 🧠 AI 지식으로 물어보세요.

코드 에디터에서 result = df.head() 를 실행한 결과. 아래 표에 결과가 바로 나타납니다.

06

AI 지식

API 키나 구독 쿼터 없이, ChatGPT/Claude 등 평소 쓰는 외부 AI로 MDS 코드를 만듭니다.

사용 방법

  • 🧠 AI 지식 버튼 클릭 → 안내 문서가 클립보드에 복사되고 AI 사이트가 열림
  • 새 대화창에 Ctrl+V 붙여넣기
  • 분석 과제를 설명하면 완성된 코드를 받음
  • 받은 코드를 편집창에 붙여넣고 ▶ Run

효과적인 요청 방법

  • ✅ 구체적: "나이 컬럼의 평균을 구해서 mIO.print로 출력해줘"
  • ✅ 목적 포함: "매출 예측 모델을 RandomForest로 만들어줘"
  • ❌ 모호함: "분석해줘" → 원하는 결과를 구체적으로 설명하세요

💡 받은 코드를 붙여넣고 Run했을 때 오류가 나면, 오류 메시지를 그대로 AI에게 다시 물어보세요.

07

Data Analysis

데이터를 열면 메뉴바에 Data Analysis 항목이 자동으로 나타납니다.

EDA (탐색적 데이터 분석)

  • 분포 시각화 — 히스토그램 + KDE 곡선
  • 상관 히트맵 — 수치 컬럼 간 피어슨 상관계수 시각화
  • Pairplot — 모든 컬럼 조합의 산점도 행렬
  • 이상치 시각화 — IQR 기반 박스플롯

전처리

  • 결측값: 행 제거 / 평균 대체 / 중앙값 대체
  • 이상치 제거: IQR / Z-Score / IsolationForest
  • 스케일링: Standard / MinMax / Robust
  • 인코딩: One-Hot / Label / Ordinal

통계 검정

  • 기술통계 (평균·표준편차·분위수)
  • 가설 검정: t-test, Mann-Whitney U, ANOVA
  • Y 영향도: 컬럼별 목표 변수 영향 순위
  • 분포 적합: Normal / Poisson / Exponential / Binomial

회귀 분석

  • 선형 / Ridge / Lasso 회귀
  • 5-fold 교차 검증 (R², RMSE)
  • VIF 다중공선성 분석 (statsmodels)

💡 모든 분석 결과는 HTML 보고서 형태로 새 창에 표시됩니다.

Data Analysis 를 열면 먼저 데이터 진단 화면이 나옵니다. 행·열 수, 결측 현황, 컬럼별 분포를 한눈에 봅니다.

08

Machine Learning

데이터를 열면 메뉴바에 Machine Learning 항목이 자동으로 나타납니다.

시작 방법 — 설정 창이 차례로 열립니다

메뉴바 Machine Learning 아래에 Supervised(지도학습)와 Unsupervised(비지도학습) 두 묶음이 있습니다. 항목을 고르면 설정 창이 차례로 뜹니다. 중간에 취소를 누르면 그 자리에서 멈춥니다.

순서창 제목고르는 것
1(메뉴)Supervised / Unsupervised 에서 알고리즘
2Step 2 — Select Target (Y)예측하려는 컬럼 (지도학습만)
3Step 3 — Select Features (X)예측에 쓸 입력 컬럼들
4Step 4 — Preprocessing Options결측값 처리 · 스케일링
5… Hyperparameters알고리즘별 설정 (기본값으로 두어도 됩니다)

⚠ 전처리는 자동이 아닙니다. Step 4 에서 직접 고릅니다. 결측값은 행 삭제(Drop rows)가 기본이라 빈칸이 있는 행이 분석에서 빠집니다 — 빈칸이 많은 컬럼을 입력에 넣으면 데이터가 크게 줄 수 있으니, 먼저 Data Operation → Data information 으로 결측 개수를 확인하세요.

💡 스케일링은 트리 계열(Random Forest, Decision Tree, XGBoost)에는 필요 없습니다. 거리로 계산하는 KNN·K-Means·PCA 에서는 켜는 편이 좋습니다.

지도학습 — 회귀 (수치 예측)

  • Random Forest Regression — 교차검증 + Feature Importance
  • XGBoost Regression

지도학습 — 분류

  • Logistic Regression — ROC 곡선
  • Decision Tree / RF — 두 모델 성능 비교
  • XGBoost / KNN — 혼동행렬(Confusion Matrix)

비지도학습 — 군집

  • K-Means — 실루엣·엘보 분석으로 최적 k 자동 탐색
  • DBSCAN — 밀도 기반 군집 (노이즈 포인트 탐지)
  • Hierarchical — 덴드로그램 시각화

차원 축소

  • PCA — Scree plot + Biplot (주성분 기여도 시각화)
  • t-SNE — 2D/3D 임베딩으로 클러스터 패턴 확인
  • Isolation Forest — 이상 데이터 탐지

💡 Feature Importance로 어떤 변수가 예측에 가장 중요한지 확인하세요.

Random Forest Regression 결과. 성능 지표와 함께 어떤 입력이 예측에 많이 쓰였는지(피처 중요도), 예측이 실제와 얼마나 맞았는지를 보여줍니다.

09

단축키 목록

파일 / 데이터

단축키기능
Ctrl+N새 데이터 (화면 초기화)
Ctrl+OCSV / Excel 파일 열기
Ctrl+X데이터 추가 X (컬럼 방향 병합)
Ctrl+Y데이터 추가 Y (행 방향 병합)
Ctrl+JJoin / Merge (키 컬럼 병합)
Ctrl+S현재 데이터 CSV 저장
Ctrl+ZReturn to Previous (되돌리기)

UI / 도움말

단축키기능
F1사용 가이드 열기 (본 화면)
F2Feature Tour (기능 슬라이드)

코드 에디터

단축키기능
Ctrl+Scroll편집창 폰트 크기 조절

테이블 조작

조작기능
헤더 클릭컬럼 선택
Shift + 헤더 클릭범위 선택
Ctrl + 헤더 클릭개별 추가 선택
헤더 드래그 (좌↔우)컬럼 순서 변경
헤더 우클릭정렬·필터·삭제·계산·통계 등 조작 메뉴
Ctrl + 헤더 우클릭시각화 (그래프) 메뉴

10

확장 (Extension)

MDS에 들어 있지 않은 기능이 필요할 때, 파이썬 패키지를 설치해 코드 에디터에서 쓸 수 있습니다.

여는 법

메뉴바 확장 관리Extension Manager 열기…

설치하는 두 가지 방법

  • PyPI에서 만들기… — 패키지 이름(예: soundfile)을 넣으면 인터넷에서 받아 설치합니다
  • 설치(.mdsx)… — 배포된 확장 파일을 직접 설치합니다

💡 설치한 뒤에는 MDS를 다시 시작해야 반영됩니다.

설치가 거부되는 경우

numpy · pandas · scipy · PySide6 는 MDS에 들어 있는 버전으로 고정돼 있습니다. 이들의 다른 버전을 요구하는 확장은 설치 단계에서 거부됩니다.

설치는 됐는데 나중에 알 수 없는 오류로 깨지는 것보다, 처음부터 막는 편이 안전하기 때문입니다. 거부된 경우 그 확장은 현재 버전의 MDS와 함께 쓸 수 없습니다.

제거

Extension Manager에서 목록의 확장을 고르고 제거를 누릅니다. 되돌릴 수 없으며, 제거 후에도 MDS를 다시 시작해야 반영됩니다.

확장 관리 창. 필요한 기능을 골라 설치하거나 제거합니다.

11

자주 묻는 질문

Q. 데이터가 너무 많아서 느린데 어떻게 하나요?

100만 행 이상의 파일은 DuckDB가 자동으로 고속 처리합니다. 테이블에는 샘플만 표시되지만 실제 연산은 전체 데이터를 사용합니다. 파일 오픈 시 '대용량' 경고가 나오면 New → Calculate Data 방식을 따르세요.

Q. 실수로 컬럼을 삭제했어요!

메뉴 → Return to Previous (Ctrl+Z)로 최대 10단계까지 되돌릴 수 있습니다. 처음 로드한 상태로 돌아가려면 Return to Origin을 사용하세요.

Q. 코드 에디터에서 오류가 발생했어요

1) Code Refactor 버튼으로 코드 구조 오류를 자동 정리합니다.
2) 오류 메시지를 그대로 복사해 🧠 AI 지식(외부 AI)에 물어보면 수정 코드를 받을 수 있습니다.

Q. AI로 코드를 만들려면 API 키가 필요한가요?

필요 없습니다. 🧠 AI 지식 버튼을 누르면 ChatGPT/Claude 등 평소 쓰는 AI 웹사이트가 열리고, 안내 문서가 클립보드에 자동으로 복사됩니다. 붙여넣고 과제를 설명하면 코드를 받을 수 있습니다.

Q. 분석 결과를 저장하려면?

• 그래프: 브라우저 탭에 열린 그림 위에서 우클릭 → 이미지를 다른 이름으로 저장 (PNG)
• 데이터: 메뉴 → Save (CSV)
• HTML 보고서: 분석 결과 창 → 우클릭 → 저장
• 코드: 코드 에디터 → Save Result

Q. Data Analysis / Machine Learning 메뉴가 보이지 않아요

이 메뉴들은 데이터를 로드한 후에만 메뉴바에 나타납니다. 파일을 먼저 열어주세요.

Q. 샘플 데이터는 어디서 구할 수 있나요?

시작 화면(데이터 없을 때)에서 월별 판매 데이터 또는 학생 성적 데이터 버튼을 클릭하면 연습용 샘플이 자동으로 로드됩니다.

Q. 필터를 해제하려면?

헤더 우클릭 → Remove Filter를 선택하거나 Return to Previous (Ctrl+Z)로 되돌릴 수 있습니다.

12

베타 · 업데이트 · 문의

지금은 베타 버전입니다

정식 출시 전, 테스트를 위해 공개한 버전입니다. 실제 데이터로 사용하실 수 있지만 아직 다듬는 중인 부분이 있을 수 있습니다.

⚠️ 중요한 파일은 사본을 두고 사용해 주세요.

새 버전이 나오면

앱을 켰을 때 데이터 표 위에 새 버전 안내 줄이 나타납니다. 지금 받기를 누르면 브라우저에서 다운로드 페이지가 열립니다.

받은 설치 파일을 그대로 실행하면 덮어쓰기 설치가 됩니다. 따로 지우실 필요가 없고, My Data · My Python 폴더의 작업물은 그대로 보존됩니다.

나중에를 누르면 이번 실행 동안만 숨겨지고, 다음에 앱을 켜면 다시 나타납니다.

오류나 불편한 점이 있으면

메일로 알려 주세요 — sdsl_user@sdsl.co.kr

세 줄이면 충분합니다.

  • 무엇을 하려 했는지
  • 무엇을 기대했는지
  • 실제로 무엇이 나왔는지

보내주신 의견은 정식 출시 전에 반영합니다.

앱 안의 사용 가이드(F1). 이 페이지와 같은 내용입니다.

Beta

정식 출시 전, 테스트를 위한 베타 버전입니다. 중요한 파일은 사본을 두고 사용해 주세요. 가이드에서 찾지 못한 내용이나 이상한 동작이 있으면 sdsl_user@sdsl.co.kr 로 알려 주세요. 보내주신 의견은 정식 출시 전에 반영합니다.