## Hands-on NumPy(IV): Universal Functions and Array-oriented Programming

Universal functions (ufunc) are special NumPy functions that operate on ndarrays in an element-by-element fashion.

They represent a vast array of vectorized functions that perform much better than iterative implementations and let you write concise code. Most ufuncs achieve this by providing a Python wrapper around a C implementation.

In

## Hands-on NumPy(III): Indexing and slicing

NumPy array indexing is a big topic, and there are many different ways of selecting elements from an array.

Let's start with the simplest case: selecting an entry from a 1-dimensional array.

``````import numpy as np

arr = np.arange(10)
print(arr)
``````
``[0 1 2 3 4 5 6 7``

## Hands-on Numpy(II): Performing basic operations with ndarrays

In the last article, we learned many different ways in which we can create ndarrays. Now that we know how to create NumPy arrays it's time to start playing around with them.

We will learn to perform basic operations, a task you can divide into 3 categories:

• Operations between arrays

## Hands-on NumPy (I): Creating ndarrays

NumPy (an acronym for Numeric Python) is a library for working with multi-dimensional arrays and matrices. It was created in 2005 by Travis Oliphant, and since then received numerous contributions from the community that enabled it to grow into one of the most used tools in data science.

NumPy lets

## Deep Learning Basics(11): Moving forward

We reached the end of our introductory journey in deep learning.

Now you understand what this is all about. Maybe you really like it and are ready to deepen your knowledge in the topic(deepen, deep learning, get it? Uhgg).

This will be a shorter article, I'll just offer some