import numpy as np
# one dimensional array
arr_1d = np.array([1,2,1])
arr_1d
array([1, 2, 1])
# two dimensional array
arr_2d = np.array([[0,1,0], [2,1,1]])
arr_2d
array([[0, 1, 0], [2, 1, 1]])
# dimensions of arrays
print("Dimensions arr_1d:", np.ndim(arr_1d))
print("Dimensions arr_2d:", np.ndim(arr_2d))
Dimensions arr_1d: 1 Dimensions arr_2d: 2
# size of arrays
print("Size arr_1d:",np.size(arr_1d))
print("Size arr_2d:",np.size(arr_2d))
Size arr_1d: 3 Size arr_2d: 6
# shape of arrays
print("Shape arr_1d:",arr_1d.shape)
print("Shape arr_2d:",arr_2d.shape)
Shape arr_1d: (3,) Shape arr_2d: (2, 3)
# generating an array with sequential elements
np_range = np.array(range(15))
np_arange = np.array(np.arange(15))
print(np_arange)
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
# determining data type
np_arange.dtype
dtype('int64')
# recasting data
np_arange = np.array(np_arange, dtype="float64")
np_arange
array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14.])
np_arange = np.arange(15).reshape(3,5)
# transposing arrays
np_arange.T
array([[ 0, 5, 10], [ 1, 6, 11], [ 2, 7, 12], [ 3, 8, 13], [ 4, 9, 14]])
# original array remains unchanged
np_arange
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])
# assigning values
np_arange[1,1] = 60
np_arange[1,1]
60
# subsetting data
np_arange[:,0]
array([ 0, 5, 10])
np_arange[::,3]
array([ 3, 8, 13])