NumPy数组的基础知识
NumPy代表数值Python。它是一个用于处理数组的Python库。在Python中,我们使用列表来创建数组,但处理起来很慢。NumPy数组是一个强大的n维数组对象,它在线性代数、傅里叶变换和随机数方面的应用。它提供的数组对象比传统的Python列表快得多。
类型的数组:
- 一维数组
- 多维数组
一维数组
一维阵列是一种线性阵列。
一维数组 示例
# importing numpy module
import numpy as np
# creating list
list = [1, 2, 3, 4]
# creating numpy array
sample_array = np.array(list1)
print("List in python : ", list)
print("Numpy Array in python :",
sample_array)
输出:
List in python : [1, 2, 3, 4]
Numpy Array in python : [1 2 3 4]
检查列表和数组的数据类型
print(type(list_1))
print(type(sample_array))
输出:
<class 'list'>
<class 'numpy.ndarray'>
多维数组
多维数组中的数据以表格形式存储。
二维数组
# importing numpy module
import numpy as np
# creating list
list_1 = [1, 2, 3, 4]
list_2 = [5, 6, 7, 8]
list_3 = [9, 10, 11, 12]
# creating numpy array
sample_array = np.array([list_1,
list_2,
list_3])
print("Numpy multi dimensional array in python\n",
sample_array)
输出:
Numpy multi dimensional array in python
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
注意:在numpy.array()中使用[]操作符用于多维度
数组的解剖
1. 坐标轴:数组的坐标轴描述了数组的索引顺序。
Axis0 =一维
Axis1 =二维
Axis2 =三维的
2. 形状:每个轴上的元素数量。它来自一个元组。
Example:
# importing numpy module
import numpy as np
# creating list
list_1 = [1, 2, 3, 4]
list_2 = [5, 6, 7, 8]
list_3 = [9, 10, 11, 12]
# creating numpy array
sample_array = np.array([list_1,
list_2,
list_3])
print("Numpy array :")
print(sample_array)
# print shape of the array
print("Shape of the array :",
sample_array.shape)
输出:
Numpy array :
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
Shape of the array : (3, 4)
Example:
import numpy as np
sample_array = np.array([[0, 4, 2],
[3, 4, 5],
[23, 4, 5],
[2, 34, 5],
[5, 6, 7]])
print("shape of the array :",
sample_array.shape)
输出:
shape of the array : (5, 3)
3.Rank:数组的Rank就是它所拥有的轴(或维度)的数量。
一维数组的秩为1。
二维数组的秩为2。
4. 数据类型对象(dtype):数据类型对象(dtype)是numpy.dtype类的一个实例。它描述了如何解释固定大小的内存块中对应于数组项的字节。
Example:
# Import module
import numpy as np
# Creating the array
sample_array_1 = np.array([[0, 4, 2]])
sample_array_2 = np.array([0.2, 0.4, 2.4])
# display data type
print("Data type of the array 1 :",
sample_array_1.dtype)
print("Data type of array 2 :",
sample_array_2.dtype)
输出:
Data type of the array 1 : int32
Data type of array 2 : float64
创建Numpy数组的一些不同的方法
1. numpy.array(): numpy中的numpy数组对象被称为ndarray。我们可以使用numpy.array()函数创建ndarray。
语法:numpy.array(parameter)
Example:
# import module
import numpy as np
#creating a array
arr = np.array([3,4,5,5])
print("Array :",arr)
输出:
Array : [3 4 5 5]
2. 函数的作用是:从一个可迭代对象创建一个新的一维数组。
语法:numpy.fromiter(iterable, dtype, count=-1)
Example 1:
#Import numpy module
import numpy as np
# iterable
iterable = (a*a for a in range(8))
arr = np.fromiter(iterable, float)
print("fromiter() array :",arr)
Output:
Fromiter()数组:1。4所示。9. 16. 25. 36. 49。
Example 2:
import numpy as np
var = "Geekforgeeks"
arr = np.fromiter(var, dtype = 'U2')
print("fromiter() array :",
arr)
Output:
fromiter() array : [‘G’ ‘e’ ‘e’ ‘k’ ‘f’ ‘o’ ‘r’ ‘g’ ‘e’ ‘e’ ‘k’ ‘s’]
3.numpy.arange():这是一个内置的numpy函数,它在给定的时间间隔内返回间隔均匀的值。
numpy.arange([start,]stop, [step,]dtype=None)
Example:
import numpy as np
np.arange(1, 20 , 2,
dtype = np.float32)
输出:
array([ 1., 3., 5., 7., 9., 11., 13., 15., 17., 19.], dtype=float32)
4. numpy.linspace():这个函数返回在两个限制之间指定的间隔均匀的数字。
语法:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
Example 1:
import numpy as np
np.linspace(3.5, 10, 3)
输出:
array([ 3.5 , 6.75, 10. ])
Example 2:
import numpy as np
np.linspace(3.5, 10, 3,
dtype = np.int32)
输出:
array([ 3, 6, 10])
5. numpy.empty():这个函数创建一个给定形状和类型的新数组,不初始化值。
语法:numpy.empty(shape, dtype=float, order= ‘ C ‘)
Example:
import numpy as np
np.empty([4, 3],
dtype = np.int32,
order = 'f')
输出:
array([[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]])
6. numpy.ones():这个函数用于获取一个给定形状和类型的新数组,其中填充了ones(1)。
语法:numpy.ones(shape, dtype=None, order= ‘ C ‘)
Example:
import numpy as np
np.ones([4, 3],
dtype = np.int32,
order = 'f')
输出:
array([[1, 1, 1],
[1, 1, 1],
[1, 1, 1],
[1, 1, 1]])
7. numpy.zeros():这个函数用于获取一个给定形状和类型的新数组,并填充0(0)。
语法:numpy.ones(shape, dtype=None)
Example:
import numpy as np
np.zeros([4, 3],
dtype = np.int32,
order = 'f')
输出:
array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])