Data Types in NumPy
Data Types in NumPy
NumPy has some extra data types, and refer to data types with one
character, like i for integers, u for unsigned integers etc.
Below is a list of all data types in NumPy and the characters used to
represent them.
i - integer
b - boolean
u - unsigned integer
f - float
c - complex float
m - timedelta
M - datetime
O - object
S - string
U - unicode string
V - fixed chunk of memory for other type ( void )
import numpy as np
print(arr.dtype)
output
int64
Example
Get the data type of an array containing strings:
import numpy as np
<U6
Example
Create an array with data type string:
import numpy as np
print(arr)
print(arr.dtype)
output:
Example
Create an array with data type 4 bytes integer:
import numpy as np
print(arr)
print(arr.dtype)
output:
[1 2 3 4]
int32
A non integer string like 'a' can not be converted to integer (will
raise an error):
import numpy as np
The astype() function creates a copy of the array, and allows you to specify
the data type as a parameter.
The data type can be specified using a string, like 'f' for float, 'i' for integer
etc. or you can use the data type directly like float for float and int for
integer.
Example
Change data type from float to integer by using 'i' as parameter value:
import numpy as np
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)
output:
[1 2 3]
int32
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)
output:
[1 2 3]
int64
import numpy as np
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)
Addition
Python3
import numpy as np
add_ans = a+b
print(add_ans)
add_ans = np.add(a, b)
print(add_ans)
# The same functions and operations can be used for multiple matrices
c = np.array([1, 2, 3, 4])
add_ans = a+b+c
print(add_ans)
add_ans = np.add(a, b, c)
print(add_ans)
Output
[ 7 77 23 130]
[ 7 77 23 130]
[ 8 79 26 134]
[ 8 79 26 134]
As we can see that the matrixes are of the same shape, if they are different
than, Numpy will try broadcasting if it is possible. The reader can see that the
same operation (addition) can be done using arithmetic operation (+) as well
as numpy function (np.add).
Subtraction
Python3
import numpy as np
sub_ans = a-b
print(sub_ans)
sub_ans = np.subtract(a, b)
print(sub_ans)
Output
[ 3 67 3 70]
[ 3 67 3 70]
The user can also perform broadcasting with a matrix and a constant
Python3
import numpy as np
# Defining both the matrices
sub_ans = a-b-1
print(sub_ans)
sub_ans = np.subtract(a, b, 1)
print(sub_ans)
Output
[ 2 66 2 69]
[ 2 66 2 69]
Multiplication
Python3
import numpy as np
mul_ans = a*b
print(mul_ans)
mul_ans = np.multiply(a, b)
print(mul_ans)
Output
[ 10 360 130 3000]
[ 10 360 130 3000]
Division
Python3
import numpy as np
div_ans = a/b
print(div_ans)
div_ans = np.divide(a, b)
print(div_ans)
Output
[ 2.5 14.4 1.3 3.33333333]
[ 2.5 14.4 1.3 3.33333333]
There is a myriad number of other functions which in NumPy let us see some
of them one by one.
mod() and power() function
Example
Python3
mod_ans = np.mod(a, b)
print(mod_ans)
rem_ans=np.remainder(a,b)
print(rem_ans)
print(pow_ans)
Output
[ 1 2 3 10]
[ 1 2 3 10]
[ 25 1934917632 137858491849
1152921504606846976]
Some aggregation and statistical functions
Example
Python3
mean_a = np.mean(a)
print(mean_a)
mean_b = np.average(b)
print(mean_b)
sum_a = np.sum(a)
print(sum_a)
# Getting variance of all number in 'b'
var_b = np.var(b)
print(var_b)
Output
47.5
11.75
190
119.1875