IRONSOFTWAREHOME
개발자 업데이트

Deedle C# (개발자를 위한 작동 방식)

제이콥 멜러, 팀 아이언 최고기술책임자
Jacob Mellor
Updated: 2026년 7월 5일

Deedle C#

Deedle은 데이터 조작 및 데이터 분석을 위한 강력한 라이브러리입니다. 이는 전체 데이터 프레임과 시리즈를 제공하여 구조화된 데이터 프레임을 효율적으로 처리할 수 있습니다. Deedle은 결측 데이터 처리, 데이터 정렬 및 정적 멤버 ofNullablesofObservations을 활용한 지원 함수 적용 도구를 제공합니다. 이것은 유연성과 성능으로 인해 데이터 과학에서 널리 사용됩니다.

IronPDF는 .NET에서 PDF 문서를 작성 및 조작하기 위한 라이브러리입니다. HTML에서 PDF를 생성하고, 이미지를 PDF로 변환하고, PDF 파일에서 내용을 추출하는 데 도움이 됩니다. IronPDF는 .NET 프로젝트에서 PDF 작업을 간소화합니다.

이 기사에서는 C#을 위한 Deedle을 시작하는 방법, Visual Studio를 사용하여 .NET 프로젝트에 설정하는 방법 및 자동 생성 문서로 주요 기능을 구현하는 방법을 배웁니다. 코드 예제와 설명을 통해 지정된 기능을 적용하는 방법을 포함하여 Deedle을 효과적으로 사용하는 방법을 이해하는 데 도움이 됩니다.

Getting Started with Deedle C#

.NET 프로젝트에서 Deedle 설정

먼저 Visual Studio에서 새로운 C# 콘솔 애플리케이션 프로젝트를 만듭니다.

.NET 프로젝트에서 Deedle을 사용하려면 Deedle NuGet 패키지를 설치해야 합니다. NuGet 콘솔에서 다음 명령을 실행하십시오:

Install-Package Deedle
PowerShell

설치가 완료되면 프로젝트에 Deedle 네임스페이스를 가져와야 합니다:

using Deedle;

기본 코드 예제

기본적인 예제를 통해 데이터 프레임을 생성하고 조작하는 것을 시작해 봅시다. 이를 통해 Deedle의 기본을 이해할 수 있습니다.

using System;
using Deedle;

class Program
{
    static void Main()
    {
        // Creating a series with integer keys and double values
        var series = new Series<int, double>(new[] { 1, 2, 3 }, new[] { 3.5, 4.2, 5.1 });
        Console.WriteLine("Series:");
        Console.WriteLine(series);

        // Creating a data frame from a 2D array
        var rowIndex = new[] { 1, 2, 3 };
        var colIndex = new[] { "A", "B" };
        var data = new double[,] { { 1.0, 3.5 }, { 2.0, 4.2 }, { 3.0, 5.1 } };
        var dataFrame = Frame.FromArray2D(data)
                             .IndexRowsWith(rowIndex)
                             .IndexColumnsWith(colIndex);
        Console.WriteLine("Data Frame:");
        Console.WriteLine(dataFrame);
    }
}

이 예제에서는 정수 행 키와 이중 값으로 시리즈를 생성합니다. 그리고 이중 값의 2차원 배열을 사용하여 데이터 프레임을 생성합니다. 행은 정수로, 열은 문자열로 인덱싱합니다.

Implementing Features of Deedle C#

누락된 값 처리

데이터 조작에서 누락된 값을 처리하는 것은 중요합니다. Deedle은 누락된 데이터에 대한 강력한 지원을 제공합니다. 누락된 값이 있는 시리즈를 생성하고 이를 처리하기 위한 연산을 수행할 수 있습니다.

using System;
using Deedle;

class Program
{
    static void Main()
    {
        // Creating a series with nullable doubles to represent missing values
        var series = new Series<int, double?>(
            new[] { 75, 8, 47, 5 },
            new double?[] { 75.0, null, 47.0, 5.0 }
        );
        Console.WriteLine("Original Series with Missing Values:");
        Console.WriteLine(series);

        // Fill missing values with a specified value (e.g., 0.0)
        var filledSeries = series.FillMissing(0.0);
        Console.WriteLine("Series after Filling Missing Values:");
        Console.WriteLine(filledSeries);
    }
}

이 예제는 누락된 값이 있는 시리즈를 생성하고 지정된 값으로 채웁니다. 좀 더 복잡한 시나리오를 위해 ofOptionalObservationsofValues와 같은 정적 멤버 메서드를 사용할 수도 있습니다.

데이터 조작

Deedle은 다양한 데이터 조작 작업을 수행할 수 있도록 합니다. 데이터 프레임에서 데이터를 필터링, 변환 및 집계할 수 있습니다.

using System;
using Deedle;

class Program
{
    static void Main()
    {
        // Creating a data frame
        var rowIndex = new[] { 1, 2, 3 };
        var colIndex = new[] { "A", "B" };
        var data = new double[,] { { 1.0, 3.5 }, { 2.0, 4.2 }, { 3.0, 5.1 } };
        var dataFrame = Frame.FromArray2D(data)
                             .IndexRowsWith(rowIndex)
                             .IndexColumnsWith(colIndex);
        Console.WriteLine("Original Data Frame:");
        Console.WriteLine(dataFrame);

        // Filter rows where column 'A' is greater than 1.5
        var filteredFrame = dataFrame.Where(row => row.Value.GetAs<double>("A") > 1.5);
        Console.WriteLine("Filtered Data Frame:");
        Console.WriteLine(filteredFrame);

        // Add a new column 'C' which is the sum of columns 'A' and 'B'
        dataFrame.AddColumn("C", dataFrame["A"] + dataFrame["B"]);
        Console.WriteLine("Transformed Data Frame with New Column 'C':");
        Console.WriteLine(dataFrame);
    }
}

이 예제는 조건에 따라 행을 필터링하고 변환된 데이터로 새 열을 추가하는 것을 보여줍니다. Deedle은 데이터를 분석하는 데 있어 간단하게 합니다.

통계 함수

Deedle은 데이터를 분석하기 위한 표준 통계 함수를 제공합니다. 통계 함수를 사용하여 평균, 표준 편차 및 기타 통계적 측정을 계산할 수 있습니다.

using System;
using Deedle;

class Program
{
    static void Main()
    {
        // Creating a series with integer keys and double values
        var series = new Series<int, double>(
            new[] { 1, 2, 3, 4 },
            new[] { 1.0, 2.0, 3.0, 4.0 }
        );
        Console.WriteLine("Series:");
        Console.WriteLine(series);

        // Calculate the mean of the series
        var mean = series.Mean();
        Console.WriteLine($"Mean: {mean}");

        // Calculate the standard deviation of the series
        var stddev = series.StdDev();
        Console.WriteLine($"Standard Deviation: {stddev}");
    }
}

이 Deedle 코드 예제는 표준 통계 함수 Mean()StdDev()을 구현하여 각각 시리즈의 평균 및 표준 편차를 계산합니다.

CSV로부터 데이터 프레임 생성

Deedle은 CSV 파일에서 쉽게 데이터 프레임을 생성할 수 있도록 합니다. 이는 구조화된 데이터를 로드하고 분석하는 데 유용합니다.

using System;
using Deedle;

class Program
{
    static void Main()
    {
        // Load a data frame from a CSV file
        var dataFrame = Frame.ReadCsv("data.csv");
        Console.WriteLine("Data Frame from CSV:");
        Console.WriteLine(dataFrame);

        // Aggregate rows by a specified column and compute sum
        var summary = dataFrame.AggregateRowsBy<string, double>(
            new[] { "ColumnName" }, // rowKeys
            null, // columnKeys, you can pass null if not required
            v => v.Sum() // aggFunc
        );
        Console.WriteLine("Summary of Data Frame:");
        Console.WriteLine(summary);
    }
}

이 예제는 CSV 파일을 데이터 프레임으로 읽고 데이터에 대해 요약 연산을 수행합니다.

IronPDF와 Deedle 통합

IronPDF 소개

Deedle C# (개발자를 위한 작동 원리): 그림 1 - IronPDF for .NET: C# PDF 라이브러리

IronPDF는 .NET 애플리케이션에서 PDF 파일을 생성, 조작, 추출할 수 있는 강력한 라이브러리입니다. 매우 다재다능하여 HTML에서 PDF 생성, 텍스트 추출, PDF 병합 등 다양한 PDF 관련 작업을 처리할 수 있습니다. IronPDF를 Deedle과 통합하면 데이터 프레임에서 동적 보고서를 생성해야 하는 데이터 분석 및 보고 시나리오에서 특히 유용할 수 있습니다.

IronPDF의 설치

NuGet 패키지 관리자 콘솔을 사용하여 .NET 프로젝트에 IronPDF를 설치하려면, 다음 명령을 추가하십시오:

PM > Install-Package IronPdf

또는 NuGet 패키지 관리자 for Solutions를 사용하여 IronPDF를 설치할 수도 있습니다. 검색 결과에서 NuGet에서 IronPDF 패키지를 찾습니다, 선택하고 '설치' 버튼을 누릅니다. Visual Studio가 다운로드와 설치를 자동으로 처리합니다.

설치가 완료되면 IronPDF를 프로젝트에 활용할 수 있습니다.

IronPDF와 Deedle 병합 사례

PDF 보고서로 제시하려는 일부 통계 데이터가 있는 데이터 프레임을 상상해보세요. Deedle은 데이터 조작 및 분석 부분을 처리할 수 있고, IronPDF는 최종 보고서를 형식화하고 생성하는 데 사용될 수 있습니다. 예를 들어, 테이블, 차트 및 설명 통계를 포함하는 PDF를 생성하여 데이터를 쉽게 공유하고 표현할 수 있습니다.

사용 사례의 코드 예제

IronPDF와 Deedle을 통합하는 방법을 보여주는 완전한 코드 예제가 여기에 있습니다. Deedle 데이터 프레임에서 간단한 보고서를 생성하고 IronPDF를 사용하여 PDF를 생성할 것입니다.

using System;
using System.Linq;
using Deedle;
using IronPdf;

namespace DeedleIronPDFIntegration
{
    class Program
    {
        static void Main(string[] args)
        {
            // Set IronPDF license key
            IronPdf.License.LicenseKey = "License-Key";

            // Create a sample data frame from in-memory records
            var data = new[]
            {
                new { Name = "Robert", Age = 30, City = "New York" },
                new { Name = "Johnny", Age = 25, City = "San Francisco" },
                new { Name = "Charlie", Age = 35, City = "Los Angeles" }
            };
            var frame = Frame.FromRecords(data);

            // Convert the data frame to an HTML table format
            var htmlTable = "<table border='1' cellpadding='5' cellspacing='0'><thead><tr><th>Name</th><th>Age</th><th>City</th></tr></thead><tbody>" +
                            string.Join("", frame.Rows.Select(row =>
                                $"<tr><td>{row.Value.GetAs<string>("Name")}</td><td>{row.Value.GetAs<int>("Age")}</td><td>{row.Value.GetAs<string>("City")}</td></tr>")
                            ) +
                            "</tbody></table>";

            // Wrap the HTML table in basic HTML structure with CSS styling
            var htmlContent = $@"
            <html>
            <head>
                <style>
                    table {{width: 100%;
                        border-collapse: collapse;}}
                    th, td {{border: 1px solid black;
                        padding: 8px;
                        text-align: left;}}
                    th {{background-color: #f2f2f2;}}
                </style>
            </head>
            <body>
                {htmlTable}
            </body>
            </html>";

            // Create a PDF from the HTML content
            var renderer = new ChromePdfRenderer();
            var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

            // Save the generated PDF to a file
            pdfDocument.SaveAs("f:\\DeedleReport.pdf");
            Console.WriteLine("PDF report created successfully!");
        }
    }
}
C#

산출

Deedle C# (개발자를 위한 작동 원리): 그림 2 - IronPDF 및 Deedle을 사용하여 생성된 출력 PDF

이제 완료되었습니다! 방금 복잡한 데이터를 Deedle에서 가져와 IronPDF's .NET PDF Library를 사용하여 형식화된 PDF 보고서로 변환하는 완전 기능의 애플리케이션을 생성했습니다. 이는 데이터를 전문적인 형식으로 분석 결과를 전달하는 강력한 방법입니다.

결론

이 기사에서는 DeedleIronPDF와 통합하여 데이터 프레임에서 동적 PDF 보고서를 생성하는 방법을 탐구했습니다. Deedle을 사용하여 데이터를 효율적으로 조작 및 분석할 수 있으며, IronPDF는 최종 PDF 문서의 생성 및 서식을 처리합니다. 이 조합은 데이터 분석에서 프레젠테이션까지 프로세스를 자동화하여 쉽게 전문적인 보고서를 생성할 수 있게 합니다.

IronPDF는 기능과 사용법에 대한 상세한 문서와 다양한 IronPDF 코드 예제를 제공하여 시작하고 광범위한 기능을 효과적으로 활용하는 방법을 안내합니다.

IronPDF 라이선스 옵션 탐색 $999부터 시작합니다. 시도해 보고 보고 기능을 얼마나 향상시킬 수 있는지 확인하세요.

제이콥 멜러, 팀 아이언 최고기술책임자
최고기술책임자

제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다.

...
더 읽어보기

관련 기사

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.