Data science is the application of statistical analysis, machine learning, data visualization and programming to real-world data sources to bring understanding and insight to data-oriented problem domains. F# is an excellent solution for programmatic data science as it combines efficient execution, REPL-scripting, powerful libraries and scalable data integration.

To contribute to this guide edit this page. These resources are for educational purposes. The F# Software Foundation does not endorse any commercial products, processes, or services.

Jupyter Notebooks

Integrated Packages

Interactive Charting

Individual Packages

If a resource specific to F# can’t be found, then search for C# instead and adjust the technique appropriately.

Commercial packages

Tutorials and Introductions

Introductions to different machine learning algorithms with F#:


F# and Excel

Excel-DNA is an independent project to integrate .NET into Excel. With Excel-DNA you can make native (.xll) add-ins for Excel using C#, Visual Basic.NET or F#, providing high-performance user-defined functions (UDFs), custom ribbon interfaces and more. Your entire add-in can be packed into a single .xll file requiring no installation or registration:

NPOI is .NET version of POI Java project at POI is an open source project which can help you read/write xls, doc, ppt files.

EPPlus is a .NET library that reads and writes Excel 2007/2010/2013 files using the Open Office XML format (xlsx)

ExcelPackageF is a simple F# wrapper over the EPPlus library.

Both NPOI and EPPLus manipulate the Open Office XML format directly so they do not require having Excel installed and do not use Interop. You can read, create, and edit Excel documents using this approach.

The F# Excel Type Provider is a prototypical F# type providerfor Excel that allows you to read Excel files using typed data provided by the type provider.

There are also some F# versions of Excel functions, useful when migrating code:

F# and R




F# and Python


F# and Mathematica/Wolfram Language