# The Most Important Numpy Functions You Should Know When Learning Python

Data science in Python is mostly analytical, so learning it from scratch is a basic thing to start with. The beginner-friendly steps shown here are a kick-start for learning how to program from the basic codes.

One of the main benefits is its extensive set of libraries, a collection of routines and functions that help data scientists perform complex tasks quite effortlessly without writing a single line of code. One such important function is numerical Python aka NumPy which is a fundamental library, well known for high-performance multi-dimensional array and can be used for different mathematical functions like linear algebra, Fourier Transformations, etc. as well as logical operations.

This article takes a lowdown on understanding NumPy and its functions, including steps to create NumPy arrays, indexing, slicing, etc.

### Understanding NumPy And How It Works

The easy way to install Python in your system is to download and install a package called Anaconda that contains pre-installed libraries.

Once Anaconda is installed, now you can easily install NumPy on your terminal:

conda install nump

Voila! NumPy is installed. Let’s start by launching Jupyter notebook.

Import NumPy on your Jupyter notebook:

Import numpy as np

Creating a one-dimensional array:

array1 = np.array ( [ 1, 2, 3, 4, 5, 6 ] )

Creating higher dimensional array:

array2 = np.array ( [ [ 1, 2, 3 ] [ 4, 5, 6 ] ] )

Shape of array2:

print ( array2.shape )  # Prints ( 2, 3 )

Changing an element in an array:

array1 [ 0 ] = 9

print ( array1 )  # Prints “ [ 9, 2, 3, 4, 5, 6 ] ”

Using arange( ) built-in function, let’s create NumPy array:

array1 = np.arange ( 0, 10 )  # This generates index value from 0 to 1

We can create Identity Matrix with the given code:

my_matrx = np . eye( 44 )  # here 4 is the number of columns/rows

### Generating Random Numbers

An array of random numbers can be generated by using the functions rand(), randn() or randint().

For instance, if we need a one-dimensional array containing 6 objects which are uniformly distributed from 0 to 1, then:

my_rand = np.random.rand (6)

### Arithmetic Operations On NumPy:(operating as each element to itself)

array1 = np.arange (1, 12)

array1 * array1

array1 – array1

array1 + array1

array1 / array1

### Using Universal Functions In Each Element:

np.sqrt (array1)  # Returns square root

np.exp (array1)   # Returns the exponential

np.log (array1)    # Returns logarithm

np.std (array1)    # Returns standard deviation

The array can be indexed and sliced, noted that a slice must be specified for each dimension of the array:

### Indexing:

array1 [ 2 ]  # Prints 3

array2 [ 1, 1 ] # Prints 5

array2 [ 0, : ]  # array ( [ 1, 2, 3 ] ); row 1

### Slicing:

array1 ( [ 1 : 3 ] )  # Prints array ( [ 2, 3] )

array1 ( [ 1 : 3 ] ) = [ -2, -3 ]  # Prints array ( [ 1, -2, -3, 4, 5, 6 ] )

array1 [ : : ]   # array ( [ 1, -2, -3, 4, 5, 6 ] ); lower, upper, step all take the default values

array1 [ : 3 ]  # array ( [ 1, -2, -3 ] ); first three elements

array [ : : 2 ]  # array ( [ 1, -3, 5 ] ); here the step is 2

We can compute the functions in reverse order using negative numbers:

array1 [ -3 : ] # Prints array ( [4, 5, 6 ] ); the last three numbers

### Importing And Exporting Of Files:

np.loadtxt (file.txt)   # imports from a text file

np.savetxt (‘file.txt’,arr,delimiter= ’  ’)   #writes to a text file

It is always helpful and good to have something extra in the bag. So besides using NumPy, here are some other libraries for Python that you can check out and keep yourself updated.

A Technical Journalist who loves writing about Machine Learning and Artificial Intelligence. A lover of music, writing and learning something out of the box.

## Our Upcoming Events

### Telegram group

Discover special offers, top stories, upcoming events, and more.

### Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

### Why Atlassian Chose Not to Rush Through LLMs

Last week, Atlassian’s CTO Rajeev Rajan sat down with AIM to list down the company’s technological priorities

### 6 IDEs Built for Rust

Rust IDEs aid efficient code development by offering features like code completion, syntax highlighting, linting, debugging tools, and code refactoring

### The Rise and Fall of JS Frameworks

Node.js is not broken enough to be fixed

### ‘Upskilling of Engineering Talent Key to Staying Relevant in Global Markets’

The company remains dedicated to upskill its employees and help them navigate new technologies and roles.

### Why Time is Ripe for the ‘Real’ GPT-4

OpenAI ups the ante to challenge Gemini with GPT-Vision

### Is MongoDB Vector Search the Panacea for all LLM Problems?

By introducing proprietary data, developers can narrow down the pool of possible responses, significantly reducing the likelihood of hallucinations

### Why Intel Closing the Gap with NVIDIA is Good News

Gaudi2’s performance surpassed NVIDIA H100’s on a state-of-the-art vision language model on Hugging Face’s performance benchmarks

### Can OpenAI Save SoftBank?

After a tumultuous investment spree with significant losses, will SoftBank’s plans to invest in OpenAI and other AI companies provide the boost it needs?

### Oracle’s Grand Multicloud Gamble

“Cloud Should be Open,” says Larry at Oracle CloudWorld 2023, Las Vegas, recollecting his discussions with Microsoft chief Satya Nadella last week.

### NVIDIA Catches Up to AMD, Intel with MCM Design

GH100 was also expected to have an MCM design, but it came with a monolithic architecture again.