Python-numpy 基本操作

文章目录:

1. zeros 函数: 用于初始化全 0 的矩阵

2. ones 函数: 初始化, 赋值 矩阵.

3. reshape 函数: 重新构建矩形 形状

4. linspace 函数:  在指定的间隔内返回均匀间隔的数字

5. argmax 函数: 计算矩阵, 每行最大值下标

6. equal 函数:  比较对应列的值是否相同

7. hstack 函数: 水平方向追加

8. vstack 函数: 垂直方向追加

9. 逆序

 

1. zeros 函数: 用于初始化全 0 的矩阵

例子:

import numpy as np

#初始化 1个 3行 2列 的矩阵(每个元素默认为浮点数)
data = np.zeros([3, 2])
print("data-1:%s"%data)
'''
输出结果:
    [
        [0. 0.]
        [0. 0.]
        [0. 0.]
    ]
'''

#初始化 1个 3行 2列 的矩阵(设置每个元素为8位int)
data = np.zeros([3, 2], np.uint8)
print("data-2:%s"%data)
'''
输出结果:
    [
        [0 0]
        [0 0]
        [0 0]
    ]
'''

#初始化 4个 3行 2列 的矩阵(设置每个元素为8位int)
data = np.zeros([4, 3, 2], np.uint8)
print("data-3:%s"%data)
'''
输出结果:
    [
        [
            [0 0]
            [0 0]
            [0 0]
        ]
    
        [
            [0 0]
            [0 0]
            [0 0]
        ]
    
        [
            [0 0]
            [0 0]
            [0 0]
        ]
    
        [
            [0 0]
            [0 0]
            [0 0]
        ]
    ] 
'''

2. ones 函数: 初始化, 赋值 矩阵.

例子:

import numpy as np

#矩阵初始化 3个 3行 2列 的矩阵(每个元素默认为8为int), 默认值为6
data = np.ones([3, 3, 2], np.uint8) * 6
print("data-1:%s"%data)
'''
输出结果:
    [
        [
            [6 6]
            [6 6]
            [6 6]
        ]

        [   
            [6 6]
            [6 6]
            [6 6]
        ]

        [
            [6 6]
            [6 6]
            [6 6]
        ]
    ]
'''

#矩阵赋值 将第下标为的 1 的矩阵, N行, N列 的值, 批量更改为7
data[1, :, :] = np.ones([3, 2], np.uint8) * 7
print("data-2:%s"%data)
'''
输出结果:
    [
        [
            [6 6]
            [6 6]
            [6 6]
        ]

        [   
            [7 7]
            [7 7]
            [7 7]
        ]

        [
            [6 6]
            [6 6]
            [6 6]
        ]
    ]
'''

#矩阵赋值 将第下标为的 1 的矩阵, 下标为 2 的行,  N列 的值, 批量更改为8
data[1, 2, :] = np.ones([2], np.uint8) * 8
print("data-3:%s"%data)
'''
输出结果:
    [
        [
            [6 6]
            [6 6]
            [6 6]
        ]

        [   
            [7 7]
            [7 7]
            [8 8]
        ]

        [
            [6 6]
            [6 6]
            [6 6]
        ]
    ]
'''

#矩阵赋值 将第下标为的 1 的矩阵, N行, 下标为1的列 的值, 批量更改为9
data[1, :, 1] = np.ones([3], np.uint8) * 9
print("data-4:%s"%data)
'''
输出结果:
    [
        [
            [6 6]
            [6 6]
            [6 6]
        ]

        [   
            [7 9]
            [7 9]
            [8 9]
        ]

        [
            [6 6]
            [6 6]
            [6 6]
        ]
    ]
'''

 

 

3. reshape 函数: 重新构建矩形 形状

例子:

import numpy as np

#初始化为 3行 2列 的矩阵(每个元素默认为8为int), 默认值为6
data = np.ones([3, 2], np.uint8) * 6
print("data-1:%s"%data)
'''
输出结果:
    [
        [6 6]
        [6 6]
        [6 6]
    ]
'''

#矩阵转换为 1行, 6列
data2 = data.reshape([1, 6]);
print("data-2:%s"%data2)
'''
输出结果:
    [   
        [6 6 6 6 6 6]
    ]
'''

#矩阵转换为 2行, 3列
data3 = data2.reshape([2, 3]);
print("data-3:%s"%data3)
'''
输出结果:
    [
        [6 6 6]
        [6 6 6]
    ]
'''

 

4. linspace 函数:  在指定的间隔内返回均匀间隔的数字

import numpy as np

#在 0-4 范围内, 返回5个 均匀间隔的数字.
x_data = np.linspace(0, 4, 5)
print(x_data)

'''
输出结果:
    [ 0. 1. 2. 3. 4. ]
'''

 

5. argmax 函数: 计算矩阵, 每行最大值下标

import numpy as np

#创建一个 2 行 2 列 的矩阵,
p1 = np.array([[0, 5, 3], [1, 2, 3]])
print(p1)
res = np.argmax(p1, 1)
print(res)
'''
    计算数据:
    [
        [0, 5, 3],  #矩阵1, 最大值下标为: 1 
        [1, 2, 3]   #矩阵2, 最大值下标为: 2
    ]
    结果数据:
    [1 2]
    
    结果解释:
    [
        1   #矩阵 1 的结果
        2   #矩阵 2 的结果
    ]
'''

 

6. equal 函数:  比较对应列的值是否相同

 

import numpy as np

p1 = np.array([0, 2, 3])
p2 = np.array([0, 1, 3])
res = np.equal(p1, p2) #比较对应列的值, 是否相同.
print(res)

'''
    计算数据:
    [
        [0, 2, 3],  #矩阵1,
        [0, 1, 3]   #矩阵2,
    ]
    结果数据:
    [ True, False, True ]
'''

 

7. hstack 函数: 水平方向追加

import numpy as np

p1 = np.array([1, 2, 3])
p2 = np.array([4, 5, 6])
res = np.hstack((p1, p2)) #水平方向追加
print(res)

'''
    计算数据:
    [
        [1, 2, 3],  #矩阵1,
        [4, 5, 6]   #矩阵2,
    ]
    结果数据:
    [ 1, 2, 3, 4, 5, 6 ]
'''

8. vstack 函数: 垂直方向追加

import numpy as np

p1 = np.array([1, 2, 3])
p2 = np.array([4, 5, 6])
res = np.vstack((p1, p2)) #水平方向追加
print(res)

'''
    计算数据:
    [
        [1, 2, 3],  #矩阵1,
        [4, 5, 6]   #矩阵2,
    ]
    结果数据:
    [ 
        [1, 2, 3 ],
        [4, 5, 6 ]
    ]
'''

9.逆序

import numpy as np

p1 = np.array([[1, 2, 3], [4, 5, 6]])
p2 = p1[::-1]       # 第1个 [ 里面的数据 逆序
p3 = p1[:, ::-1]    # 第2个 [ 里面的数据 逆序

print(p1)
print(p2)
print(p3)

'''
    p1数据:
    [
        [1, 2, 3],
        [4, 5, 6]
    ]
    p2数据:
    [ 
        [4, 5, 6],
        [1, 2, 3]
    ]
    p3数据:
    [ 
        [3, 2, 1],
        [6, 5, 4]
    ]
'''

 

 

 

 

你可能感兴趣的:(Python)