Book description
Discover the new features and widely used packages in Julia to solve complex computational problems in your statistical applications.
Key Features
- Address the core problems of programming in Julia with the most popular packages for common tasks
- Tackle issues while working with Databases and Parallel data processing with Julia
- Explore advanced features such as metaprogramming, functional programming, and user defined types
Book Description
Julia, with its dynamic nature and high-performance, provides comparatively minimal time for the development of computational models with easy-to-maintain computational code. This book will be your solution-based guide as it will take you through different programming aspects with Julia.
Starting with the new features of Julia 1.0, each recipe addresses a specific problem, providing a solution and explaining how it works. You will work with the powerful Julia tools and data structures along with the most popular Julia packages. You will learn to create vectors, handle variables, and work with functions. You will be introduced to various recipes for numerical computing, distributed computing, and achieving high performance. You will see how to optimize data science programs with parallel computing and memory allocation. We will look into more advanced concepts such as metaprogramming and functional programming. Finally, you will learn how to tackle issues while working with databases and data processing, and will learn about on data science problems, data modeling, data analysis, data manipulation, parallel processing, and cloud computing with Julia.
By the end of the book, you will have acquired the skills to work more effectively with your data
What you will learn
- Boost your code's performance using Julia's unique features
- Organize data in to fundamental types of collections: arrays and dictionaries
- Organize data science processes within Julia and solve related problems
- Scale Julia computations with cloud computing
- Write data to IO streams with Julia and handle web transfer
- Define your own immutable and mutable types
- Speed up the development process using metaprogramming
Who this book is for
This book is for developers who would like to enhance their Julia programming skills and would like to get some quick solutions to their common programming problems. Basic Julia programming knowledge is assumed.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
-
Installing and Setting Up Julia
- Introduction
- Installing Julia from binaries
- Julia IDEs
- Julia support for text editors
- Building Julia from sources on Linux
- Running Julia inside the Cloud9 IDE in the AWS cloud
- How to customize Julia on startup
- Setting up Julia to use multiple cores
- Useful options for interaction with Julia
- Displaying computation results in Julia
- Managing packages
- Configuring Julia in Jupyter Notebook
- Configuring Julia to work with JupyterLab
- Configuring Julia with Jupyter Notebook in Terminal-only cloud environments
-
Data Structures and Algorithms
- Introduction
- Finding the index of a random minimum element in an array
- Fast matrix multiplication
- Implementing a custom pseudo-random number generator
- Parsing Git logs with regular expressions
- Non-standard ways to sort your data
- Creating a function preimage - understanding how dictionaries and sets work
- Working with UTF-8 strings
-
Data Engineering in Julia
- Introduction
- Managing streams, and reading and writing files
- Using IOBuffer to efficiently work with in-memory streams
- Fetching data from the internet
- Writing a simple RESTful service
- Working with JSON data
- Working with date and time
- Using object serialization in Julia
- Running Julia as a background process
- Reading and writing Microsoft Excel files
- Handling Feather data
- Reading CSV and FWF files
-
Numerical Computing with Julia
- Introduction
- Traversing matrices efficiently
- Executing loops efficiently with conditional statements
- Generating full factorial designs
- Approximating pi using partial series sums
- Running Monte Carlo simulations
- Analyzing a queuing system
- Working with complex numbers
- Writing a simple optimization routine
- Estimating a linear regression
- Understanding broadcasting in Julia
- Improving code performance using @inbounds
- Creating a matrix from a set of vectors as rows
- Using array views to avoid memory allocation
- Variables, Types, and Functions
- Metaprogramming and Advanced Typing
-
Handling Analytical Data
- Introduction
- Converting data between DataFrame and Matrix
- Investigating the contents of a data frame
- Reading CSV data from the internet
- Working with categorical data
- Handling missing data
- Split-apply-combine in DataFrames
- Converting a data frame between wide and narrow formats
- Comparing data frames for identity
- Transforming rows of DataFrame
- Creating pivot tables by chaining transformations of data frames
- Julia Workflow
- Data Science
- Distributed Computing
- Other Books You May Enjoy
Product information
- Title: Julia 1.0 Programming Cookbook
- Author(s):
- Release date: November 2018
- Publisher(s): Packt Publishing
- ISBN: 9781788998369
You might also like
book
Julia 1.0 Programming
Enter the exciting world of Julia, a high-performance language for technical computing Key Features Leverage Julia's …
book
Julia 1.0 Programming Complete Reference Guide
Learn dynamic programming with Julia to build apps for data analysis, visualization, machine learning, and the …
book
Julia Quick Syntax Reference: A Pocket Guide for Data Science Programming
This quick Julia programming language guide is a condensed code and syntax reference to the Julia …
book
Julia: High Performance Programming
Leverage the power of Julia to design and develop high performing programs About This Book Get …