## 학습 목표
이 튜토리얼을 통해 F#을 사용해 실무 데이터를 처리하고 시각화하는 전반적인 작업 흐름을 익히고, 분석 결과를 시각적으로 표현할 수 있는 능력을 개발합니다.
## 준비사항
- 도구: Visual Studio(Community Edition) 또는 VS Code + Ionide 플러그인, .NET SDK 6 이상
- 기본 지식: C# 문법 이해, 데이터 처리 기초 개념
- 라이브러리: FSharp.Data, Plotly.NET, ExcelProvider 설치 준비
## 단계별 진행
### 1단계: 환경 설정 및 데이터 로딩
F# 프로젝트 생성 후 CSV 파일을 읽고 데이터 타입 추론 수행
```fsharp
// 패키지 참조 추가
#r "nuget: FSharp.Data"
open FSharp.Data
open System.IO
// CSV 파일 로드 및 데이터 타입 추론
let csvData =
CsvFile.Load("sample.csv")
|> Seq.toArray
// 첫 번째 행을 헤더로 사용하여 컬럼 이름 추출
let headers = csvData.[0] |> Array.map (fun x -> x.ToString())
let rows = csvData |> Array.skip 1
// 데이터 타입 추론 및 변환
let data =
rows
|> Array.map (fun row ->
headers |> Array.mapi (fun i _ ->
let value = row.[i].ToString()
match headers.[i] with
| "Price" -> float value
| "Date" -> DateTime.Parse(value)
| _ -> value))
```
### 2단계: 데이터 정제 및 분석
결측치 처리, 필터링, 집계 연산 수행
```fsharp
// 결측치 제거
let cleanData =
data
|> Array.filter (fun row ->
headers |> Array.forall (fun header ->
match header with
| "Price" -> not (System.Double.IsNaN(row.[0]))
| _ -> true))
// 가격 데이터 추출 및 평균 계산
let prices =
cleanData
|> Array.filter (fun row ->
let price = row |> Array.find (fun x -> x.ToString() = "Price") |> fun x -> float x
not (System.Double.IsNaN(price)))
|> Array.map (fun row ->
let price = row |> Array.find (fun x -> x.ToString() = "Price") |> fun x -> float x
price)
let averagePrice = prices |> Array.average
```
### 3단계: 시각화 및 결과 출력
Plotly.NET을 사용해 데이터 시각화 수행
```fsharp
// Plotly.NET 설정
#r "nuget: Plotly.NET"
open Plotly.NET
open Plotly.NET.LayoutObjects
// 시리즈 생성 및 차트 제작
let chart =
Chart.Bar(
prices,
Name="가격 분포",
Marker=Chart.Marker(Color="#1f77b4")
)
|> Chart.WithTitle("데이터 분석 결과")
|> Chart.WriteHtml("analysis.html")
```
### 4단계: 최종 검증 및 배포
결과 파일 확인 및 프로젝트 패키징
```fsharp
// HTML 파일 생성 여부 확인
printfn "시각화 결과가 analysis.html 파일에 저장되었습니다."
// 프로젝트 빌드 및 실행
System.Diagnostics.Process.Start("analysis.html")
```
🔵 F#을 활용한 데이터 분석 및 시각화 기초 튜토리얼
F# 튜토리얼
중급
난이도
튜토리얼
타입
10/22
등록일
F#을 활용한 데이터 분석 및 시각화 기초 튜토리얼
중급태그
코드 예제
## 1단계: 데이터 로딩 예제
```fsharp
#r "nuget: FSharp.Data"
open FSharp.Data
let csvData = CsvFile.Load("sample.csv") |> Seq.toArray
let headers = csvData.[0] |> Array.map (fun x -> x.ToString())
let rows = csvData |> Array.skip 1
```
## 2단계: 데이터 정제 예제
```fsharp
let cleanData =
rows
|> Array.filter (fun row ->
headers |> Array.forall (fun header ->
match header with
| "Price" -> not (System.Double.IsNaN(row.[0]))
| _ -> true))
```
## 3단계: 시각화 예제
```fsharp
#r "nuget: Plotly.NET"
open Plotly.NET
let chart =
Chart.Bar(prices, Name="가격 분포")
|> Chart.WithTitle("데이터 분석 결과")
```
## 4단계: 결과 출력 예제
```fsharp
printfn "분석 완료! analysis.html 파일을 확인하세요"
System.Diagnostics.Process.Start("analysis.html")
```
등록일: 2025년 10월 22일 02:42
언어 정보
언어
F#
카테고리
Functional
인기도
#27
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요