data-analysis

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Data Analysis

数据分析

When to use this skill

何时使用该技能

  • 데이터 탐색: 새로운 데이터셋 이해
  • 리포트 생성: 데이터 기반 인사이트 도출
  • 품질 검증: 데이터 정합성 확인
  • 의사결정 지원: 데이터 기반 추천
  • 数据探索:了解新数据集
  • 生成报告:提炼基于数据的洞察
  • 质量验证:检查数据一致性
  • 决策支持:提供基于数据的建议

Instructions

操作指南

Step 1: 데이터 로드 및 탐색

步骤1:数据加载与探索

Python (Pandas):
python
import pandas as pd
import numpy as np
Python (Pandas):
python
import pandas as pd
import numpy as np

CSV 로드

加载CSV

df = pd.read_csv('data.csv')
df = pd.read_csv('data.csv')

기본 정보

基本信息

print(df.info()) print(df.describe()) print(df.head(10))
print(df.info()) print(df.describe()) print(df.head(10))

결측치 확인

检查缺失值

print(df.isnull().sum())
print(df.isnull().sum())

데이터 타입

数据类型

print(df.dtypes)

**SQL**:
```sql
-- 테이블 구조 확인
DESCRIBE table_name;

-- 샘플 데이터
SELECT * FROM table_name LIMIT 10;

-- 기본 통계
SELECT
    COUNT(*) as total_rows,
    COUNT(DISTINCT column_name) as unique_values,
    MIN(numeric_column) as min_val,
    MAX(numeric_column) as max_val,
    AVG(numeric_column) as avg_val
FROM table_name;
print(df.dtypes)

**SQL**:
```sql
-- 查看表结构
DESCRIBE table_name;

-- 样本数据
SELECT * FROM table_name LIMIT 10;

-- 基本统计
SELECT
    COUNT(*) as total_rows,
    COUNT(DISTINCT column_name) as unique_values,
    MIN(numeric_column) as min_val,
    MAX(numeric_column) as max_val,
    AVG(numeric_column) as avg_val
FROM table_name;

Step 2: 데이터 정제

步骤2:数据清洗

python
undefined
python
undefined

결측치 처리

处理缺失值

df['column'].fillna(df['column'].mean(), inplace=True) df.dropna(subset=['required_column'], inplace=True)
df['column'].fillna(df['column'].mean(), inplace=True) df.dropna(subset=['required_column'], inplace=True)

중복 제거

去除重复值

df.drop_duplicates(inplace=True)
df.drop_duplicates(inplace=True)

데이터 타입 변환

转换数据类型

df['date'] = pd.to_datetime(df['date']) df['category'] = df['category'].astype('category')
df['date'] = pd.to_datetime(df['date']) df['category'] = df['category'].astype('category')

이상치 제거 (IQR 방식)

去除异常值(IQR方法)

Q1 = df['value'].quantile(0.25) Q3 = df['value'].quantile(0.75) IQR = Q3 - Q1 df = df[(df['value'] >= Q1 - 1.5IQR) & (df['value'] <= Q3 + 1.5IQR)]
undefined
Q1 = df['value'].quantile(0.25) Q3 = df['value'].quantile(0.75) IQR = Q3 - Q1 df = df[(df['value'] >= Q1 - 1.5IQR) & (df['value'] <= Q3 + 1.5IQR)]
undefined

Step 3: 통계 분석

步骤3:统计分析

python
undefined
python
undefined

기술 통계

描述性统计

print(df['numeric_column'].describe())
print(df['numeric_column'].describe())

그룹별 분석

分组分析

grouped = df.groupby('category').agg({ 'value': ['mean', 'sum', 'count'], 'other': 'nunique' }) print(grouped)
grouped = df.groupby('category').agg({ 'value': ['mean', 'sum', 'count'], 'other': 'nunique' }) print(grouped)

상관관계

相关性分析

correlation = df[['col1', 'col2', 'col3']].corr() print(correlation)
correlation = df[['col1', 'col2', 'col3']].corr() print(correlation)

피벗 테이블

透视表

pivot = pd.pivot_table(df, values='sales', index='region', columns='month', aggfunc='sum' )
undefined
pivot = pd.pivot_table(df, values='sales', index='region', columns='month', aggfunc='sum' )
undefined

Step 4: 시각화

步骤4:数据可视化

python
import matplotlib.pyplot as plt
import seaborn as sns
python
import matplotlib.pyplot as plt
import seaborn as sns

히스토그램

直方图

plt.figure(figsize=(10, 6)) df['value'].hist(bins=30) plt.title('Distribution of Values') plt.savefig('histogram.png')
plt.figure(figsize=(10, 6)) df['value'].hist(bins=30) plt.title('数值分布') plt.savefig('histogram.png')

박스플롯

箱线图

plt.figure(figsize=(10, 6)) sns.boxplot(x='category', y='value', data=df) plt.title('Value by Category') plt.savefig('boxplot.png')
plt.figure(figsize=(10, 6)) sns.boxplot(x='category', y='value', data=df) plt.title('各分类的数值分布') plt.savefig('boxplot.png')

히트맵 (상관관계)

热力图(相关性)

plt.figure(figsize=(10, 8)) sns.heatmap(correlation, annot=True, cmap='coolwarm') plt.title('Correlation Matrix') plt.savefig('heatmap.png')
plt.figure(figsize=(10, 8)) sns.heatmap(correlation, annot=True, cmap='coolwarm') plt.title('相关性矩阵') plt.savefig('heatmap.png')

시계열

时间序列图

plt.figure(figsize=(12, 6)) df.groupby('date')['value'].sum().plot() plt.title('Time Series of Values') plt.savefig('timeseries.png')
undefined
plt.figure(figsize=(12, 6)) df.groupby('date')['value'].sum().plot() plt.title('数值的时间序列变化') plt.savefig('timeseries.png')
undefined

Step 5: 인사이트 도출

步骤5:提炼洞察

python
undefined
python
undefined

상위/하위 분석

高低值分析

top_10 = df.nlargest(10, 'value') bottom_10 = df.nsmallest(10, 'value')
top_10 = df.nlargest(10, 'value') bottom_10 = df.nsmallest(10, 'value')

트렌드 분석

趋势分析

df['month'] = df['date'].dt.to_period('M') monthly_trend = df.groupby('month')['value'].sum() growth = monthly_trend.pct_change() * 100
df['month'] = df['date'].dt.to_period('M') monthly_trend = df.groupby('month')['value'].sum() growth = monthly_trend.pct_change() * 100

세그먼트 분석

细分群体分析

segments = df.groupby('segment').agg({ 'revenue': 'sum', 'customers': 'nunique', 'orders': 'count' }) segments['avg_order_value'] = segments['revenue'] / segments['orders']
undefined
segments = df.groupby('segment').agg({ 'revenue': 'sum', 'customers': 'nunique', 'orders': 'count' }) segments['avg_order_value'] = segments['revenue'] / segments['orders']
undefined

Output format

输出格式

분석 리포트 구조

分析报告结构

markdown
undefined
markdown
undefined

데이터 분석 리포트

数据分析报告

1. 데이터 개요

1. 数据概述

  • 데이터셋: [이름]
  • 레코드 수: X,XXX
  • 컬럼 수: XX
  • 기간: YYYY-MM-DD ~ YYYY-MM-DD
  • 数据集:[名称]
  • 记录数:X,XXX
  • 列数:XX
  • 时间范围:YYYY-MM-DD ~ YYYY-MM-DD

2. 주요 발견

2. 主要发现

  • 인사이트 1
  • 인사이트 2
  • 인사이트 3
  • 洞察1
  • 洞察2
  • 洞察3

3. 통계 요약

3. 统计摘要

지표
평균X.XX
중앙값X.XX
표준편차X.XX
指标数值
平均值X.XX
中位数X.XX
标准差X.XX

4. 권장 사항

4. 建议

  1. [권장 사항 1]
  2. [권장 사항 2]
undefined
  1. [建议1]
  2. [建议2]
undefined

Best practices

最佳实践

  1. 데이터 이해 우선: 분석 전 데이터 구조와 의미 파악
  2. 점진적 분석: 간단한 분석에서 복잡한 분석으로 진행
  3. 시각화 활용: 패턴 발견을 위한 다양한 차트 사용
  4. 가정 검증: 데이터에 대한 가정을 항상 검증
  5. 재현 가능성: 분석 코드와 결과를 문서화
  1. 优先理解数据:分析前明确数据结构与含义
  2. 渐进式分析:从简单分析逐步过渡到复杂分析
  3. 善用可视化:使用多种图表发现模式
  4. 验证假设:始终验证关于数据的假设
  5. 可复现性:将分析代码与结果进行文档化

Constraints

约束规则

필수 규칙 (MUST)

必须遵守的规则(MUST)

  1. 원본 데이터 보존 (복사본으로 작업)
  2. 분석 과정 문서화
  3. 결과 검증
  1. 保留原始数据(基于副本进行操作)
  2. 记录分析过程
  3. 验证结果

금지 사항 (MUST NOT)

禁止事项(MUST NOT)

  1. 민감한 개인정보 노출 금지
  2. 근거 없는 결론 도출 금지
  1. 禁止泄露敏感个人信息
  2. 禁止得出无根据的结论

References

参考资料

Examples

示例

Example 1: Basic usage

示例1:基础用法

<!-- Add example content here -->
<!-- 添加示例内容 -->

Example 2: Advanced usage

示例2:进阶用法

<!-- Add advanced example content here -->
<!-- 添加进阶示例内容 -->