1234···11

🔁 집계 함수란?

데이터를 시각화할 때 하나의 필드가 여러 값(행)을 가질 경우, 이를 하나로 요약할 필요가 있습니다.
이때 사용하는 방식이 집계 함수(Aggregation) 입니다.

예시:

  • 평균 매출
  • 총 주문 수
  • 최대 판매 금액 등

🛠 집계 함수 변경 방법

 

아래 화살표를 눌러서 변경
더블 클릭하면 함수가 나옴

 

함수명 설명
합계 (SUM) 전체 값의 총합
평균 (AVG) 전체 값의 산술 평균
최소값 / 최대값 (MIN/MAX) 데이터 중 가장 작은 / 큰 값
중앙값 (Median) 중앙에 위치한 값
표준편차 (STDEV) 데이터의 흩어진 정도
카운트 (COUNT) 값의 개수
카운트(고유) 중복을 제외한 값의 개수

 

 

✅백분율(%)로 값 표시하기

 

 

🔽 위 방법

  1. 필드 이름 우클릭 (또는 ▼ 드롭다운 클릭)
  2. 서식 또는 숫자 형식 메뉴 선택
  3. 백분율 또는 사용자 지정 형식 선택
  4. 소수점 자리 수 조정 (예: 1자리면 14.9%, 2자리면 14.88%)

 

✅그래프 크기 화면에 맞추기

전체보기 선택

 

 

 

✅마크레이블

그래프 위에 숫자나 이름을 표시하고 싶을 때 Tableau에서는 "마크 레이블" 기능을 사용합니다.
시각화된 데이터에 값을 직접 표시해주어, 분석이 더욱 직관적이고 명확해집니다.

 

⭐마크 레이블이란?

마크 레이블은 차트 위에 나타나는 데이터 값 텍스트입니다.

예:

  • 막대그래프 위에 숫자 표시
  • 원형 그래프에 항목명 + 비율 표시
  • 산점도 위에 제품명 표시 등

 

 

 

✅평균 이상 미만으로 그래프 분류하기

그래프 하단 매출옆에 버튼 클릭후 내림차순

 

 

 

 

 

  • 좌측 메뉴에서 우클릭 → 계산된 필드 생성
  • 이름: 평균 이상 미만 구분
  • 아래 수식 입력: 
    • SUM(매출) > = WINDOW_AVG(SUM(매))

 

 

매출 평균 이상 = TRUE

매출 평균 미만 = FALSE

 

 

 

✅색상으로 구분하기

  1. 생성한 평균 이상 미만 구분 필드를 색상 마크 카드에 드래그
  2. 색상 자동 설정 or 주황/파랑으로 수동 변경 가능

 

 

 

 

✅ 평균라인 추가하기

 

평균선(참조선) 추가하기

  1. 그래프 위 빈 공간에서 우클릭
  2. 또는 상단 메뉴에서 분석 탭 클릭
  3. 좌측 분석 패널에서 참조선을 드래그하여 테이블 영역에 놓기

 

 

강의 정리 내용 출처 : http://www.boostcourse.org/ds121

 

데이터 시각화를 위한 태블로

부스트코스 무료 강의

www.boostcourse.org

 

'🟡Tableau' 카테고리의 다른 글

01. Tabluea 기초  (2) 2025.07.18
Tableau 무료 강의 사이트  (0) 2025.07.18

(1) 디지털 트랜스포메이션(Digial Transformation) : 디지털로 변신(변혁)

(2) Data Literacy : 데이터를 보고 활용할 수 있는 능력,

 탐색(Explore) 통해 자신이 이해(Understand)하고,

이를 다른 사람과 협업(Collaboration)을 통해 찾은 통찰(Insight)공유(Share)하는 능력

 

- 태블로 (Tableau)

- 태블로 퍼블릭 (Tableau Public) : 무료 공개용 버전

- 태블로 데스크탑(Tableau Desktop) : 유료 버전

 

데이터그리드 - 데이터원본 미리보기

메타데이터 그리드 - 데이터원본 필드 행으로 요약형태

 


✅ Tableau Public 설치

  1. Tableau Public 공식 다운로드 페이지에 접속합니다.
  2. 이메일 주소를 입력하고 설치 파일을 다운로드합니다.
  3. 설치 파일을 실행하면 자동으로 설치가 진행됩니다 (별도의 설치 옵션 없이 빠르게 완료됨).
  4. 설치가 완료되면 자동으로 Tableau Public이 실행됩니다.

 

 Tableau Public 실행 후 시작화면

 

여기서는 데이터 소스를 선택할 수 있어요.

  • Microsoft Excel: 엑셀 파일 불러오기
  • 텍스트 파일: CSV, TXT 등
  • JSON 파일, PDF 파일, 통계 파일 등 다양한 형식 지원
  • OData 등의 서버형 데이터도 연결 가능

 

 

시각화 시트 화면 이해하기

구역 설명

구역 설명
① 데이터 패널 (좌측 상단) 불러온 데이터 필드가 나열되어 있는 곳입니다. 측정값(숫자)과 차원(범주형)이 구분되어 표시됩니다.
② 마크 카드 시각화의 색상, 크기, 텍스트 등을 설정할 수 있는 옵션 창입니다. 그래프의 스타일을 조정할 수 있어요.
③ 행 / 열 선반 필드를 드래그하여 가로축/세로축에 배치하면 차트가 만들어집니다.
④ 시트 캔버스 (가운데) 시각화 결과가 표시되는 주 화면입니다. 필드를 배치하면 자동으로 차트가 생성됩니다.
⑤ 하단 탭 현재 작업 중인 시트나 데이터 원본을 전환할 수 있습니다. 필요시 새 시트를 추가할 수 있어요.

 

🧩 시트 기본 활용 예시

  1. 좌측 필드 목록에서 예: 제품명을 드래그하여 에 놓기
  2. 매출액을 드래그하여 에 놓기
  3. 자동으로 막대그래프가 생성됨
  4. 마크 카드에서 색상이나 **레이블(텍스트)**을 추가하면 더 풍부한 시각화 가능!

 

태블로 필드

  • 필드 구분
    • 파란색: 범주형 데이터 (차원) → 분류, 그룹, 구분
    • 녹색: 연속형 데이터 (측정값) → 수치, 크기, 합계 등
  • 시트 추가: 하단의 + 버튼을 클릭하면 새 시트를 추가할 수 있습니다.
   

 

 

 

 

 

강의 정리 내용 출처 : http://www.boostcourse.org/ds121

 

데이터 시각화를 위한 태블로

부스트코스 무료 강의

www.boostcourse.org

 

'🟡Tableau' 카테고리의 다른 글

02. 태블로 - 집계함수 변경 (평균, 합계)  (0) 2025.07.18
Tableau 무료 강의 사이트  (0) 2025.07.18

http://www.boostcourse.org/ds121

 

데이터 시각화를 위한 태블로

부스트코스 무료 강의

www.boostcourse.org

 

'🟡Tableau' 카테고리의 다른 글

02. 태블로 - 집계함수 변경 (평균, 합계)  (0) 2025.07.18
01. Tabluea 기초  (2) 2025.07.18

1. statsmodels (통계 분석/회귀)

모듈 / 함수 주요 사용 범주 예시 / 설명
ols 선형회귀 ols('y ~ x1+ x2', data =df,).fit()
logit 로지스틱 회귀(분류) logit('y ~ x1 + x2 ', data =df).fit()
model.summary() 결과요약 회귀계수 t값, p값, 결정계수 출력
model.tvalues t검정통계량 각 변수의 t값
model.pvalues p-values(유의 확률) 유의미성 판단 (x < 0.05면 의미있음)
model.rsquared 결정계수 회귀 적합도 0~1, 높을수록 좋음
model.params 회귀계수(coef) 독립변수 영향력

 

2. sklearn.ensemble

(머신러닝 모델)

클래스 사용 범주 예시 / 설명
RandomForestClassifier 분류(문자/범주 예측) 다중분류(문자형 타겟, 라벨 인코딩 필요)
RandomForestRegressor 회귀(숫자 예측) 연속형 목표변수 예측

 

3. sklearn.metrics

(성능 평가)

함수 주요 사용 범주 예시 / 설
mean_squared_error(y, pred) 회귀: MSE MSE, squared=False면 RMSE
f1_score(y, pred, average=...) 분류: F1점수 macro, micro 등
accuracy_score(y, pred) 분류: 정확도 분류 맞춘 비율

 

4. sklearn.preprocessing

함수 / 클래스 사용 범주 설명 / 예시
StandardScaler 표준화 평균0, 표준편차 1로 변환
fit_trans
MinMaxScaler 정규화 0~1 사이로 변환
fit_transform(X)
RobustScaler 중앙값 정규화 이상치에 강함
중앙값(median) 기준 변
MaxAbsScaler 절댓값 정규화 -1 ~ 1 사이로 변환
음수 포함 가능
Normalizer 행(샘플) 단위 정규화 각 행의 벡터 크기를 1로 만듦 (주로 텍스트 벡터)

 

5. form scipy import stats

pearsonr(a, b) 피어슨상관계수 + p값 corr, p = pearsonr(x, y)
ttest_1samp 단일 표본 t검 한 집단의 평균이 특정 값과 같은지 가설
ttest_ind(a, b) 두 집단 평균 차 t검정 독립 2표본 t-검정
ttest_rel(대응 쌍체 표본t검정) 두 그룹 전후 비교  
f_oneway(a, b, ...) 분산분석 anova (일원배치법)
그냥 집단 간 평균차이(일원분산분석)만 필요:
3개 이상 그룹 평균차이 검정
anova_lm(model) 회귀분석, 다중요인(범주형 변수 등) 영향력까지 표로 보고 싶을  
shapiro 정규성 검정 p값이 0.05이상이면 정규분포로 봄
levene(a, b) 등분산 검정(Levene) 분산이 같은지 비

1. replace

df['f4'] = df['f4'].replace('ESFJ', 'ISFJ')

 

 

2. df.loc 를 이용한 방법

df.loc[df['f4'] == 'ESFJ', 'f4] = 'ISFJ'

 

3. np.where()

df['f4'] = np.where(df['f4'] == 'ESFJ', 'ISFJ', df['f4'])

 

df['근속년수'] = df.groupby(['부서명', '근무평가등급'])['근속년수'].transform(lambda x : x.fillna(x.mean()))

 

 

 

  • df.groupby(['부서명', '근무평가등급'])['근속년수']
    → 이건 '부서명+근무평가등급'으로 묶인 그룹별로 '근속년수'만 뽑아낸 것
  • transform(lambda x: x.fillna(x.mean()))
    → 각 그룹별 근속년수를 x로 받아서,
    → 그 그룹에서 NaN은 평균으로 채워줌

 

✅간단하게 정리

구문 의미
groupby(['부서명', '근무평가등급']) 그룹 나누기 (부서 + 등급 조합별로)
['근속년수'] 그룹 안에서 '근속년수' 열만 선택
transform() 그룹별 계산 결과를 원래 구조 유지하며 반환
x 각 그룹의 근속년수만 모인 시리즈
x.mean() 해당 그룹의 평균 근속년수
x.fillna(x.mean()) 그 그룹에서 NaN을 평균으로 채움

 

코드 의미
df.idxmax(axis = 1) 행 기준 → 각 행에서 가장 큰 열 이름
df.idxmax(axis = 0) 열 기준 → 각 열에서 가장 큰 행 인덱스

 

 

 

예시)

년도 절도 사기 방화 폭행 ...
2014 0.55 0.62 0.47 0.61 ...
2015 0.53 0.68 0.44 0.65 ...
... ... ... ... ... ...

 

 

# 검거율.idxmax(axis=1)

print(검거율.idxmax(axis=1))

년도
2014    사기
2015    폭행
2016    사기
...

 

# 검거율.idxmax(axis=0)

절도    2017
사기    2015
방화    2019
...

1. train_test_split

 

  • 전체 데이터를 훈련(train) 세트와 테스트(test) 세트로 나누는 함수
  • 모델을 훈련용 데이터로 학습하고, 테스트용 데이터로 평가할 수 있게 해줌
from sklearn.metrics import train_test_split
train = df[['target', 'fbs', 'thalach', 'chol', 'sex']][:800]

train, test = train_test_split(train, test_size=0.2, random_state = 123)

 

 

2. 정확도 (Accuracy)

  • 전체 데이터 중에서 맞춘 비율
  • 정확도는 1에 가까울수록 좋은 성능을 보임
from sklearn.metrics import accuracy_score

accuracy = accuracy_score(test, pred)

 

 

from statsmodels.formula.api import logit

# formula방식
model = logit('target ~ fbs + thalach + chol + sex', data=train).fit()

# 예측
pred = model.predict(test)
pred = (pred > 0.5).astype(int)

# 정확도 계산
accuracy = (pred == test['target']).mean()

3. 오분류율 (Error Rate)

  • 전체 중에서 틀린 예측의 비율
from sklearn.metrics import accuracy_score

accuracy = accuracy_score(test, pred)
error_rate = 1 - accuracy

 

4. 정밀도 (Precision)

from sklearn.metrics import precision_score

precision = precision_score(test, pred)

 

 

5. MSE (Mean Squared Error)

 

  • 예측값과 실제값 차이의 제곱 평균
  • 값이 0에 가까울수록 예측이 정확함

 

from sklearn.metrics import mean_squared_error

mse = mean_squared_error(y_true, y_pred)
print("MSE:", round(mse, 3))

 

6. RMSE (Root Mean Squared Error)

 

  • MSE의 단위가 제곱이기 때문에, 원래 단위로 맞추기 위해 제곱근을 씀
  • 값이 작을수록 좋음
from sklearn.metrics import mean_squared_error

rmse = mean_squared_error(y_true, y_pred, squared=False)
print("RMSE:", round(rmse, 3))

 

 

7. F1-Score

 

  • **정밀도(Precision)**와 **재현율(Recall)**의 조화 평균
  • 불균형 데이터(예: 1이 적은 경우)에서 모델 성능 평가에 유리
from sklearn.metrics import f1_score

f1 = f1_score(y_true, y_pred)
print("F1-Score:", round(f1, 3))

 

 

기본은 binary classification (0 vs 1)
다중 분류일 땐 average='macro' 또는 average='weighted' 추가

 

# 다중 분류 예시
f1_macro = f1_score(y_true, y_pred, average='macro')
import numpy as np
import pandas as pd 

df = pd.read_csv('/kaggle/input/bigdata-csvfile/Sleep_health_and_lifestyle_dataset.csv')

df = df.select_dtypes(include = 'numbers')
corr = df.corr()

 

df.select_dtypes(include='number')  # 숫자형 컬럼만 추출
df.select_dtypes(include='object')  # 문자형 컬럼만 추출
df.select_dtypes(include='category')  # 범주형만 추출

# 여러 타입도 선택 가능

df.select_dtypes(include=['int64', 'float64'])

1. pandas.DataFrame.corr()

df['col'].corr() # 기본값 피어슨 상관계수
df['col'].corr(method = 'spearman') # 순위 기반 상관계수 스피어만 (서열형에 적합)
df['col'].corr(method = 'kendall') # 켄달 순위 상관계수
'pearson' 기본값, 연속형 변수 간 선형관계
'spearman' 순위형 또는 비선형 관계 탐색
'kendall' 순위형 변수 간 관계 (robust)

 

 

 

2. scipy.stats.pearsonr(x, y)

from scipy.stats import pearsonr

corr, pval = pearsonr(df['소득'], df['주택가격'])
print(corr)     # 상관계수
print(pval)     # 유의확률(p-value)

 

 

📕 비교표

항목 .corr() stats.pearsonr(x, y)
상관계수 계산 방식 피어슨(기본값), spearman, kendall 피어슨(고정)
p-value 제공 여부 ❌ 없음 ✅ 있음
NaN처리 자동 무시 에러발생 (dropna 필요)
다변수 분석 지원 ✅ (DataFrame 전체 상관 행렬 ❌ (1:1 변수 비교만 가능)
주로 언제 사용하나 변수 간 전체 상관 구조 파악할 때 특정 변수 간 통계적 유의성 확인할 때