What is NumPy?
NumPy is one of the most popular packages in Python.NumPy is used for scientific computing.NumPy is used for working with arrays.
NumPy provides arrays, which are great alternatives to traditional lists.NumPy arrays are much faster than Python lists.
How to install NumPy?
To install NumPy, simply type the following in the cmd (command-line):
pip install numpy
If that does not work, type the following:
python -m pip install numpy
That's it, now you can use numpy in your Python scripts like so:
import numpy
Don't Have a PC? No Problem
With this app, you don't need to have a PC to learn NumPy. Our online compiler supports NumPy, so if you want to learn NumPy you can do so right now without installing anything.
Python NumPy Arrays
NumPy arrays are like the better version of Python lists. Arrays are much faster than lists, and is easier to work with.
Creating Array
To create an array, use the array() method of NumPy.
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr)
The ndarray Object
The object that gets created when we use the array() method is called ndarray. This can be shown by checking the type of the object using the type() function.
import numpy as np
arr = np.array([1, 2, 3, 4])
x = type(arr)
print(x)
Elements in an Array
The objects inside an array are called elements. A standard numpy array is required to have elements of the same data type.
import numpy as np
# all elements are numbers
x = np.array([1, 2, 3])
# all elements are strings
y = np.array(["dog", "cat", "rat"])
The objects inside an array are called elements.
A standard numpy array is required to have elements of the same data type.
import numpy as np
# all elements are numbers x = np.array([1, 2, 3])
# all elements are strings
y = np.array(["dog", "cat", "rat
print(x)
print(y)
Python Array Indexing
- Indexing is the process of accessing individual elements of an array.
- Indexing uses integers to access elements.
- 0 represents the first element, 1 represents the second element and so on.
Example
In this example, we will access the elements of an array using indexing.
import numpy as np
pets = np.array(["dog", "cat"])
print(pets[0])
print(pets[1])
print(pets[2])
Note! Always remember that 0 represents the first element.
import numpy as np
pets = np.array(["dog", "cat",])
print(pets[0])
Negative Indexing
- Negative indexing is used to access elements of an array from its end.
- -1 represents the last element, -2 represents the second to last element and so on.
import numpy as np
pets = np.array(["dog", "cat","camel"])
print(pets[-1])
print(pets[-2])
print(pets[-3])
Python Array Slicing
Slicing is used to access elements of an array using a range of two indexes. The first index is the start of the range while the second index is the end of the range.
The indexes are separated by a colon like this:
[start_index:end_index]
Note! The end index will not be included.
import numpy as np
arr = ["a", "b", "c", "d", "e"]
print(arr[1:3])
Here is another example:
import numpy as np
arr = ["a", "b", "c", "d", "e"]
print(arr[0:4])
If we don't specify the end index, elements from the given start index until the end of the array will be included.
import numpy as np
arr = ["a", "b", "c", "d", "e"]
print(arr[2:])
If we don't specify a start index, elements from the start of the array until the given end index will be included.
import numpy as np
arr = ["a", "b", "c", "d", "e"]
print(arr[:2])
Negative Slicing
Negative slicing uses negative indexes to access elements.
Note that when using negative indexes, -1 represents the last element, -2 represents the second to last element and so on.
import numpy as np
arr = ["a", "b", "c", "d", "e"]
print(arr[-4:-1])
Python NumPy Data Types
- NumPy supports greater data types than Python does.
- As you already know, Python supports these basic data types:
• string
• int, float
• bool
• list, tuple
• set
NumPy, on the other hand, supports these basic data types:
The dtype Property
The dtype property is used to return the data type of a NumPy array.
import numpy as np
x = np.array([1, 2, 3])
print(x.dtype)
import numpy as np
x = np.array([1.1, 2.1, 3.1])
print(x.dtype)
import numpy as np
x = np.array([True, False])
print(x.dtype)
Iterate Through a NumPy Array
Iterating through an array means accessing its elements one-by-one.
To iterate through an array, use the for loop.
import numpy as np
pets = np.array(["dog", "cat"])
for pet in pets:
print("I love my + pet)
We can also use the nditer() method with the for loop.
import numpy as np
pets = np.array(["dog", "cat"])
for pet in pets:
print("I love my + pet)
We can also use the nditer() method with the for loop.
import numpy as np
pets = np.array(["dog", "cat"])
for pet in np.nditer (pets):
print(pet)
Join NumPy Arrays
With NumPy, we can join or add arrays together.
To do that, use the concatenate() method of NumPy.
import numpy as np
x = np.array(["banana", "apple", y = np.array(["grape", "cherry"])
fruits = np.concatenate((x, y)) print(fruits)
Here's another example, this time we'll join three arrays together.
import numpy as np
x = np.array([1, 2, 3])
= np.array([4, 5, 6])
z = np.array([7, 8, 9])
nums = np.concatenate((x, y, z))
print(nums)
Python NumPy Search
With NumPy, we can search for a specific value in an array using the where() method.
The where() method returns where in an array the given condition is met.
In this example, we'll search for every "dog" in the pets array.
import numpy as np
pets = np.array(["dog", "cat"]) np.where(pets == "dog")
print(dogs)
As you may notice, the where() method returned a tuple containing an array of the indexes where the value "dog" is found.
Find Even and Odd Numbers
The where() method can be used to find even or odd numbers in an array.
This can be done by using the remainder operator (%).
Simply use this operator with number 2 being the right operand, if it returns 0 then the number is even, if it returns 1 then the number is odd.
import numpy as np
nums = np.array ([10, 8, 5, 4, 2,
# returns the position of even i
even = np.where(nums % 2 == 0) # returns the position of odd n odd = np.where (nums % 2 == 1)
print("Even:")
for x in even:
print(nums[x])
print("0dd:")
for y in odd:
Python NumPy Sort
NumPy allows us to sort arrays using the sort() method.
Sorting From Lowest to Highest
In this example, we'll sort an array of numbers from lowest to highest.
import numpy as np
nums = np.array ([5, 3, 4, 1, 2]) sorted = np.sort(nums)
print(sorted)
nums = np.array([5, 5, 4, 1, 2]J
sorted = np.sort(nums)
print(sorted)
Sorting Alphabetically
In this example, we'll sort an array of strings alphabetically.
import numpy as np
persons = np.array(["carl", "ale"]) sorted = np.sort(persons)
print(sorted)