Home > Learning, Lesson, numpy, Problem, Projects/Experiments, Python > Python: Numpay – P2

## Python: Numpay – P2

Learning : Python Numpy – P2
Subject: Two Dimensional array and some basic commands

In real mathematics word we mostly using arrays with more than one dimensions, for example with two dimension array we can store a data as

So let’s start, if we want to create an array with 24 number in it starting from 0 to 23 we use the command np.range. as bellow :

``` # We are using np.range to create an array of numbers between (0-23)

m_array = np.arange(24)
print(m_array)
[Output]:
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]

```

And if we want the array to be in a range with certain incriminating amount we may use this command:

``` # Create array between 2-3 with 0.1 interval

m_array = np.arange(2, 3, 0.1)
print(m_array)
[Output]:
[ 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9]

```

Now if we want to create an array say 3×3 fill with random numbers from (0-10) we use random function in numpy as bellow:

``` # create 3x3 Array with random numbers 0-10
m_array = np.random.randint(10, size=(3,3))
print(m_array)
[Output]:
[[6 0 7]
[1 9 8]
[5 8 9]]
```

And if we want the random number ranges to be between two numbers we use this command:

```# Array 3x3 random values between (10-60)
m_array = np.random.randint(10,60, size=(3,3))
[Output]:
[[11 23 50]
[36 44 18]
[56 24 30]]
```

If we want to reshape the array; say from 4×5 (20 element in the array) we can reshape it but with any 20-element size. Here is the code:

```# To crate a randome numbers in an array of 4x5 and numbers range 10-60.
m_array = np.random.randint(10,60, size=(4,5))
print(m_array)

# We will reshape the 4x5 to 2x10
new_shape = m_array.reshape(2,10)
print ('\n   Tne new 2x10 array:\n',new_shape)
[Output]:
[[37 11 56 18 42]
[17 12 22 16 42]
[47 29 17 47 35]
[49 55 43 13 11]]

Tne new 2x10 array:
[[37 11 56 18 42 17 12 22 16 42]
[47 29 17 47 35 49 55 43 13 11]]

```

Also we can convert a list to an array,

```# Convert a list l=([2,4,6,8]) to a 1D array
# l is a list with [2,4,6,8] values.
l=([2,4,6,8])
print('  l= ',l)
# Convert it to a 1D array.
ar = np.array(l)
print('\n  Type of l:',type(l),', Type of ar:',type(ar))
print('  ar = ',ar)

[Output]:
l=  [2, 4, 6, 8]
Type of: class'list'  , Type of ar: class 'numpy.ndarray'
ar =  [2 4 6 8]
```

If we want to add a value to all elements in the array, we just write:

```# Adding 9 to each element in the array

print('ar:',ar)
ar = ar + 9

[Output]:
ar:  [2 4 6 8]
ar after adding 9: [11 13 15 17]
```

:: numpy Commands::

 Command Comments and Outputs my_array = np.array([1,2,3,4,5]) Create an array with 1 to 5 integer len(my_array) Get the array length np.sum(my_array) get the sum of the elements in the array my_array = np.array([1,2,3,4,5]) print(np.sum(my_array)) [Output]: 15 np.max(my_array) # Get the maximum number in the array my_array = np.array([1, 2, 3,4,5]) max_num = np.max(my_array) [Output]: 5 np.min(my_array) # Get the minimum number in the array my_array = np.array([1, 2, 3,4,5]) min_num = np.min(my_array) [Output]: 1 my_array = np.ones(5) Output: [ 1., 1., 1., 1., 1.] create array of 1s (of length 5) np.ones(5) Output: [ 1., 1., 1., 1., 1.] m_array = np.arange(24) print(m_array) # To create an array with 23 number. [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23] m_array = np.arange(2, 3, 0.1) print(m_array) # Create an array from 2 to 3 with 0.1 interval value increments. [ 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9] m_array = np.random.randint(10, size=(3,3)) print(m_array) # Create a 3×3 array with random numbers between (0,10) [[6 0 7] [1 9 8] [5 8 9]] m_array = np.random.randint(10,60, size=(3,3)) # Create a 3×3 array with random numbers between (10,60) [[11 23 50] [36 44 18] [56 24 30]] # Create a 4×5 array with random numbers. m_array = np.random.randint(10,60, size=(4,5)) # Reshape m_array from 4×5 to 2×10 new_shape = m_array.reshape(2,10) print(m_array) print(new_shape) # m_array 4×5 [[37 11 56 18 42] [17 12 22 16 42] [47 29 17 47 35] [49 55 43 13 11]] # Tne new 2×10 array: [[37 11 56 18 42 17 12 22 16 42] [47 29 17 47 35 49 55 43 13 11]] # convert a list to array: l=[2,4,6,8] ar = np.array(l) # check data type for l and ar: print(‘\n Type of l:’,type(l),’, Type of ar:’,type(ar)) [Output]: l = [2, 4, 6, 8] ar = [2, 4, 6, 8] Type of l: class ‘list,’, Type of ar: class ‘numpy.ndarray’ # Adding 9 to each element in the array ar = ar + 9 [11 13 15 17]

:: numpy Sessions ::

 Sessions 1 Sessions 2 Sessions 3 Sessions 4

:: Some Code output ::

 Create array with 24 numbers (0-23). Reshape array to 4×6. Create random array of numbers (0-10), size 3×3. Reshape 4×5 array to 2×10. Convert list to array. 