CoolFace
Apppublic

mutoy/Broadcast_paper

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
data_structure_analysis.py61 linesDownload Raw Back to root
1"""2신문과방송 독자 데이터 구조 분석 스크립트3"""4import pandas as pd5import os6 7# 데이터 폴더 경로8data_dir = r'c:\Users\korea\Desktop\dacon_broadcast_paper\data'9 10# 각 파일 분석11files = [12    'article_metrics_monthly.xlsx',13    'contents.xlsx',14    'demographics_part001.xlsx',15    'demographics_part002.xlsx',16    'referrer.xlsx'17]18 19print("=" * 80)20print("신문과방송 독자 데이터 구조 분석")21print("=" * 80)22 23for file in files:24    file_path = os.path.join(data_dir, file)25    print(f"\n{'='*80}")26    print(f"파일명: {file}")27    print(f"{'='*80}")28    29    try:30        # Excel 파일 읽기31        df = pd.read_excel(file_path)32        33        # 기본 정보34        print(f"\n[기본 정보]")35        print(f"행 개수: {len(df):,}")36        print(f"열 개수: {len(df.columns)}")37        print(f"전체 크기: {df.shape}")38        39        # 컬럼 정보40        print(f"\n[컬럼 목록 및 데이터 타입]")41        for idx, (col, dtype) in enumerate(zip(df.columns, df.dtypes), 1):42            non_null = df[col].notna().sum()43            null_count = df[col].isna().sum()44            null_pct = (null_count / len(df)) * 10045            print(f"{idx:2d}. {col:40s} | Type: {str(dtype):15s} | Non-Null: {non_null:,} | Null: {null_count:,} ({null_pct:.1f}%)")46        47        # 샘플 데이터 (처음 3행)48        print(f"\n[샘플 데이터 (처음 3행)]")49        print(df.head(3).to_string())50        51        # 메모리 사용량52        memory_mb = df.memory_usage(deep=True).sum() / 1024 / 102453        print(f"\n[메모리 사용량]: {memory_mb:.2f} MB")54        55    except Exception as e:56        print(f"오류 발생: {str(e)}")57 58print("\n" + "=" * 80)59print("분석 완료!")60print("=" * 80)61