← MyDataScience

.MPY 공유 · MyDataScience

서로의 코드를
올리고, 써보고, 평가합니다

데이터를 모으고, 분석하고, 측정하고, 반복 작업을 자동화하는 코드 — MyDataScience 의 My Python 에서 만든 것을 .mpy 파일 하나로 올립니다. 다른 사람이 자기 데이터·장비에 써보고 👍💡🤩 로 알려 줍니다. SDSL도 이 .mpy 공유의 참여자 중 하나입니다.

올라온 코드
9
올린 사람
3
써본 횟수
0

여기 올라오는 것

  1. 01모으기파일·센서·장비에서 데이터를 읽어 오는 코드
  2. 02분석하기통계·머신러닝·신호처리로 답을 찾는 코드
  3. 03측정하기값을 재고, 보정하고, 판정 기준을 검증하는 코드
  4. 04자동화하기반복 작업을 한 번에 돌리고 리포트까지 만드는 코드

MyDataScience는 이 네 단계를 직접 만들어 보며 배우는 도구입니다. 한 단계만 담은 코드도, 네 단계를 모두 잇는 코드도 환영합니다.

우리가 올린 코드 9

SDSL도 함께 올렸습니다

처음이라면 이걸로 시작해 보세요 — 받아서 실행해 보고, 고쳐서 내 분석으로 다시 올리면 됩니다

def valid_range(values: np.ndarray, threshold: float) -> tuple[int, int] | None:
    idx = np.where(values > threshold)[0]
    if idx.size == 0:
        return None
    return int(idx[0]), int(idx[-1])
def aligned_difference(meas: pd.Series, ref: pd.Series, threshold: float) -> np.ndarray:
SDSL 공식

기준 데이터 정렬 후 빼기

측정 데이터와 기준(Reference) 파일을 유효 구간·중앙값으로 맞춘 뒤 차이를 구한다

#학교·과학#시각화

numpy · pandas · matplotlib · 76줄

⬇ 받아서 써보기
def pixel_columns(df: pd.DataFrame, prefix: str) -> list[str]:
    cols = [c for c in df.columns if str(c).startswith(prefix) and str(c)[len(prefix):].isdigit()]
    return sorted(cols, key=lambda c: int(str(c)[len(prefix):]))
def sum_pixels_by_row(df: pd.DataFrame, prefix: str) -> pd.DataFrame:
    dff = df.copy()
    cols = pixel_columns(dff, prefix)
SDSL 공식

스펙트럼 픽셀 행 합산

Pixel0~PixelN 형태의 분광 데이터를 행(측정)마다 합산해 신호 세기 추이를 그린다

#학교·과학#시각화#시계열

matplotlib · pandas · 52줄

⬇ 받아서 써보기
def apply_plot_style() -> None:
    try:
        plt.style.use('seaborn-v0_8-whitegrid')
    except OSError:
        plt.style.use('seaborn-whitegrid')
    plt.rcParams['font.family'] = 'Malgun Gothic'
SDSL 공식

DN 히스토그램 누적 분석

영상 센서의 DN(Digital Number)별 픽셀 수를 로그 스케일과 역누적 곡선으로 분석한다

#학교·과학#시각화#통계

matplotlib · pandas · 65줄

⬇ 받아서 써보기
def preprocess(y: pd.Series, detrend: str, window: str) -> tuple[np.ndarray, float]:
    arr = pd.to_numeric(y, errors='coerce').dropna().to_numpy(dtype=float)
    if arr.size < 2:
        return arr, 1.0
    if detrend == '선형추세 제거':
        x = np.arange(arr.size, dtype=float)
SDSL 공식

FFT 스펙트럼과 주요 피크

신호 컬럼의 진폭 스펙트럼을 창 함수와 추세 제거를 골라 계산하고 상위 피크를 찾는다

#학교·과학#시계열#시각화

matplotlib · numpy · pandas · 97줄

⬇ 받아서 써보기
def dominant_period(series: pd.Series) -> float | None:
    s = pd.to_numeric(series, errors='coerce').dropna()
    if len(s) < 4:
        return None
    normalized = (s - s.mean()) / (s.std() + 1e-10)
    power = np.abs(np.fft.rfft(normalized.to_numpy())) ** 2
SDSL 공식

FFT로 반복 주기 찾기

반복 패턴이 있는 신호에서 가장 강한 주기(몇 샘플마다 반복되는지)를 FFT로 찾는다

#학교·과학#시계열

numpy · pandas · 39줄

⬇ 받아서 써보기

올리는 곳은 MyDataScience 앱입니다

홈페이지에서는 올릴 수 없습니다. 앱에서 실행해 결과를 확인한 코드만 올라가고, 그때 나온 그래프가 그대로 미리보기가 되기 때문입니다. MyDataScience에 로그인하면 누구나 올릴 수 있고, 올린 글은 글 화면이나 마이페이지에서 고치거나 지울 수 있습니다.

  1. 1

    실행해 보기

    Calculate Data 창에서 ▶ Run — 내가 결과를 확인한 코드만 올릴 수 있어요

  2. 2

    🌐 공유 누르기

    앱 2.8.0 이상에서 — 방금 나온 그래프가 미리보기로 자동으로 들어가요

  3. 3

    소개 다듬기

    제목·설명·태그는 스크립트 머리말에서 자동으로 채워져요. 원하는 대로 고치세요

  4. 4

    바로 올라감

    확인하면 피드에 바로 올라가고, 써본 사람들이 👍💡🤩 로 알려 줍니다

🔥 만들어 주세요

준비 중· 요청 기능 미정

아직 아무도 올리지 않은 주제 — 계측·자동화부터 생활·학습까지, 하나를 골라 만들어 올리면 그 주제의 첫 번째가 됩니다 · ★ 특히 기다리는 주제

계측·자동화

  • ★센서 값 기록하고 이상치 잡아내기
  • ★측정 반복 자동화 + 결과 리포트 자동 생성
  • 보정(캘리브레이션) 곡선 만들기와 검증
  • 신호 필터링 — 잡음 제거 전후 비교
  • 장비 로그 파일 한 번에 정리하기

미디어·파일 데이터화

  • ★음악 파형 & 스펙트럼 분석
  • 사진 색감 분석
  • 텍스트·책 단어 분석
  • GPS 이동 경로 분석

개인 생활 기록

  • ★가계부 지출 패턴
  • 운동·건강 기록
  • 유튜브·넷플릭스 시청 분석

공공·사회 데이터

  • ★기상 이상기후 분석
  • 미세먼지 패턴 분석
  • 인구 변화 시각화

학교·과학 실험

  • ★물리 실험 법칙 검증
  • 식물 성장 기록 분석
  • 성적 분포 & 상관관계
  • 스포츠 경기 통계

비즈니스·직장

  • ★매출 트렌드 & 예측
  • ★설문 결과 자동 리포트
  • A/B 테스트 유의성 검증

창의·예술

  • ★명화 색상 DNA 추출
  • 소설 작가 문체 분석
  • 장르별 음악 특성 비교

게임 만들기

  • ★데이터 퀴즈 게임
  • ★반응속도 측정 & 분석
  • 주가 투자 시뮬레이션
  • 통계 추측 게임
  • 데이터 기반 텍스트 어드벤처

시뮬레이션

  • ★감염병 확산 시뮬레이션
  • ★몬테카를로 확률 시뮬레이션
  • 포식자-피식자 생태계
  • 물리 운동 시뮬레이션
  • 랜덤 워크 & 주가 시뮬레이션
쓸 수 있는 데이터:✅ 파일(CSV · Excel · JSON · 이미지 · 음악 · 텍스트 · PDF · GPS)⏳ 실시간 센서(마이크 · 카메라 · Arduino · BLE · MQTT IoT · USB 계측기)준비 중· 마이크 먼저⛔ GPU · 딥러닝(PyTorch · TensorFlow — 별도 검토 예정)