Numpy is Numerical python, and as name suggests it primarily focuses on numerical operations . The array handling and the various operations to slice dice the data applying various transforms etc., is the zone of operations numpy has brought under its umbrella.
- Basics on array from datatype, zeros, ones, shape, reshape, flags, dimensions
- Basics on array from datatype, zeros, ones, shape, reshape, flags, dimensions
[It is mandatory to import the numpy package when playing around with any arithmetical operation or array by using this code in first line - import numpy as np ]
x = np.ones([2,2], dtype = int)
print x
#numpy.zeros
# custom type
x = np.zeros((2,2), dtype = [('x', 'i4'), ('y', 'i4')])
print x
y = np.zeros((5,), dtype = np.int)
print y
#numpy.empty
x = np.empty([3,2], dtype = int)
print x
a = np.array([[1,2,3],[4,5,6]])
print a.shape
# this resizes the ndarray
a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print a
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print b
# an array of evenly spaced numbers
a = np.arange(24)
print a
# this is dimensional array
a = np.arange(24)
a.ndim
# now reshape it
b = a.reshape(2,4,3)
print b
# b is having three dimensions
# dtype of array is int8 (1 byte)
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize
# dtype of array is now float32 (4 bytes)
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize
Flags - an important aspect in array handling.
C_CONTIGUOUS (C) -The data is in a single, C-style contiguous segment
F_CONTIGUOUS (F) -The data is in a single, Fortran-style contiguous segment
OWNDATA (O) -The array owns the memory it uses or borrows it from another object
WRITEABLE (W) -The data area can be written to. Setting this to False locks the data, making it read-only
ALIGNED (A) -The data and all elements are aligned appropriately for the hardware
UPDATEIFCOPY (U) -This array is a copy of some other array. When this array is deallocated, the base array will be updated with the contents of this array
#numpy.flags
x = np.array([1,2,3,4,5])
print x.flags
a = np.array([1,2,3])
# more than one dimensions
a = np.array([[1, 2], [3, 4]])
print a
# minimum dimensions
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
# dtype parameter
a = np.array([1, 2, 3], dtype = complex)
print a
# start and stop parameters set numpy.arange
x = np.arange(10,20,2)
#convert list to ndarray
x = [11,22,33]
a = np.asarray(x)
print a
#set datatype
b = np.asarray(x, dtype = float)
print b
# ndarray from tuple
x = (11,22,33)
a = np.asarray(x)
print a
# ndarray from list of tuples
x = [(11,32,43),(44,65)]
a = np.asarray(x)
print a
#from buffer
s = 'ArticlesonTesting'
a = np.frombuffer(s, dtype = 'S1')
list = range(20)
print list
# obtain iterator object from list
list = range(20)
it = iter(list)
# use iterator to create ndarray
x = np.fromiter(it, dtype = float)
x = np.linspace(10,20, 5, endpoint = False)
print x
# find retstep value
x = np.linspace(1,2,5, retstep = True)
print x
# custom type
x = np.zeros((2,2), dtype = [('x', 'i4'), ('y', 'i4')])
print x
y = np.zeros((5,), dtype = np.int)
print y
#numpy.empty
x = np.empty([3,2], dtype = int)
print x
a = np.array([[1,2,3],[4,5,6]])
print a.shape
# this resizes the ndarray
a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print a
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print b
# an array of evenly spaced numbers
a = np.arange(24)
print a
# this is dimensional array
a = np.arange(24)
a.ndim
# now reshape it
b = a.reshape(2,4,3)
print b
# b is having three dimensions
# dtype of array is int8 (1 byte)
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize
# dtype of array is now float32 (4 bytes)
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize
Flags - an important aspect in array handling.
C_CONTIGUOUS (C) -The data is in a single, C-style contiguous segment
F_CONTIGUOUS (F) -The data is in a single, Fortran-style contiguous segment
OWNDATA (O) -The array owns the memory it uses or borrows it from another object
WRITEABLE (W) -The data area can be written to. Setting this to False locks the data, making it read-only
ALIGNED (A) -The data and all elements are aligned appropriately for the hardware
UPDATEIFCOPY (U) -This array is a copy of some other array. When this array is deallocated, the base array will be updated with the contents of this array
#numpy.flags
x = np.array([1,2,3,4,5])
print x.flags
a = np.array([1,2,3])
print a
# more than one dimensions
a = np.array([[1, 2], [3, 4]])
print a
# minimum dimensions
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
# dtype parameter
a = np.array([1, 2, 3], dtype = complex)
print a
# start and stop parameters set numpy.arange
x = np.arange(10,20,2)
print x
- Create array from list,tuple, list of tuples, tuples, tuple of tuples or tuple of lists numpy.asarray
x = [11,22,33]
a = np.asarray(x)
print a
#set datatype
b = np.asarray(x, dtype = float)
print b
# ndarray from tuple
x = (11,22,33)
a = np.asarray(x)
print a
# ndarray from list of tuples
x = [(11,32,43),(44,65)]
a = np.asarray(x)
print a
#from buffer
s = 'ArticlesonTesting'
a = np.frombuffer(s, dtype = 'S1')
print a
#from writer
list = range(20)
print list
# obtain iterator object from list
list = range(20)
it = iter(list)
# use iterator to create ndarray
x = np.fromiter(it, dtype = float)
print x
#numpy.arange - Returns an ndarray object containing evenly spaced values within a given range.
numpy.arange(start, stop, step, dtype)
x = np.arange(10,20,2,float)print x
#numpy.linspace- Similar to arange() function and instead of step size, the number of evenly spaced values between the interval is specified.
numpy.linspace(start, stop, num, endpoint, retstep, dtype) [num-number of evenly spaced samples to be generated. Default is 50]
x = np.linspace(10,20,5)
print x
# endpoint set to falsex = np.linspace(10,20, 5, endpoint = False)
print x
# find retstep value
x = np.linspace(1,2,5, retstep = True)
print x
a = np.logspace(1.0, 2.0, num = 10)
print a
# set base of log space to 2
import numpy as np
a = np.logspace(1,10,num = 10, base = 2)
#numpy.logspace - Returns an ndarray object that contains the numbers that are evenly spaced on a log scale. Start and stop endpoints of the scale are indices of the base, usually 10.
numpy.logspace(start, stop, num, endpoint, base, dtype)
# default base is 10a = np.logspace(1.0, 2.0, num = 10)
print a
# set base of log space to 2
import numpy as np
a = np.logspace(1,10,num = 10, base = 2)
print a
Post a Comment