In this blog, I will talk about array manipulation via R and Python. You will see how to create an array, insert and delete an element from a 1d-array and a 2d-array.
Creating arrays
R
dim1 <- c("one", "two", "three", "four")
dim2 <- c("A", "B", "C")
arr_2d <- array(1:12, dim = c(4, 3), dimnames = list(dim1, dim2))
> arr_2d
A B C
one 1 5 9
two 2 6 10
three 3 7 11
four 4 8 12
> class(arr_2d)
[1] "matrix"
> dim(arr_2d)
[1] 4 3
> is.numeric(array_2d)
[1] TRUE
Python
import numpy as np
arr_2d = np.array([[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]])
>>> arr_2d
array([[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]])
>>> type(arr_2d)
<class 'numpy.ndarray'>
>>> arr_2d.shape
(4, 3)
>>> arr_2d.dtype
dtype('int64')
Indexing
R
> arr_2d[1, 2]
[1] 5
> arr_2d[, 2]
one two three four
5 6 7 8
> arr_2d[, c("A", "C")]
A C
one 1 9
two 2 10
three 3 11
four 4 12
Python
>>> arr_2d[0, 1]
5
>>> arr_2d[0][1]
5
>>> arr_2d[0]
array([1, 5, 9])
>>> arr_2d[:, 1]
array([5, 6, 7, 8])
>>> arr_2d[:, [0,2]]
array([[ 1, 9],
[ 2, 10],
[ 3, 11],
[ 4, 12]])
Inserting an element into 1d-array
R
> arr_1d <- c("k", "j", "w", "d", "v")
> arr_1d
[1] "k" "j" "w" "d" "v"
> arr_1d <- append(arr_1d, "q", after = 3)
> arr_1d
[1] "k" "j" "w" "q" "d" "v"
Python
>>> import numpy as np
>>> arr_1d = np.array([3, 5, 1, 3])
>>> arr_1d
array([3, 5, 1, 3])
>>> arr_1d = np.append(arr_1d, [7])
>>> arr_1d
array([3, 5, 1, 3, 7])
Inserting an element into 2d-array
R
> arr_2d <- matrix(1:9, ncol = 3)
> arr_2d
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> arr_2d <- rbind(arr_2d, c(7, 77, 777))
> arr_2d
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
[4,] 7 77 777
Python
>>> import numpy as np
>>> arr_2d = np.array([[1, 1], [2, 2], [3, 3]])
>>> arr_2d
array([[1, 1],
[2, 2],
[3, 3]])
>>> arr_2d = np.insert(arr_2d, 1, 5, axis=1)
>>> arr_2d
array([[1, 5, 1],
[2, 5, 2],
[3, 5, 3]])
Removing an element from 1d-array
R
> arr_1d <- arr_1d[-5]
> arr_1d
[1] "k" "j" "w" "q" "v"
Python
>>> arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
>>> arr
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
>>> arr = np.delete(arr, [1, 3, 5], None)
>>> arr
array([ 1, 3, 5, 7, 8, 9, 10, 11, 12])
Removing an element from 2d-array
R
> arr_2d[, -1]
[,1] [,2]
[1,] 4 7
[2,] 5 8
[3,] 6 9
[4,] 77 777
Python
>>> arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
>>> arr
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
>>> arr = np.delete(arr, 1, 0)
>>> arr
array([[ 1, 2, 3, 4],
[ 9, 10, 11, 12]])