numpy:矩阵或者数组相减

# -*- coding: utf-8 -*-
"""
numpy:矩阵或者数组相减
"""
import numpy as np


if __name__ == '__main__':
    feature = np.array([2,3,5])
    center = np.array([1,2,3])
    
    print("原始数据维度:")
    print(feature.shape)
    print(center.shape)
    
    result = feature - center
    print("维度相同的减法:")
    print(result)
    
    print('\n******************\n')
    
    feature2 = np.array([[2,3,5]])
    center2 = np.array([[1,2,3],[2,3,4]])
    
    print("扩充维度:")
    print(feature2.shape)
    print(center2.shape)
    
    result2 = feature2 - center2
    print("维度不同的减法:")
    print(result2)   
    print(result2.shape)
    
    #产生这种结果的原因:是因为由于维度不同,在计算的时候将feature2变为了与center2同样的维度,等同于如下的计算:   
    feature3 = np.array([[2,3,5],[2,3,5]])
    result3 = feature3 - center2
    print("python的广播机制:")
    print(result3)   
    print(result3.shape)

结果:

原始数据维度:
(3,)
(3,)
维度相同的减法:
[1 1 2]

******************

扩充维度:
(1, 3)
(2, 3)
维度不同的减法:
[[1 1 2]
 [0 0 1]]
(2, 3)
python的广播机制:
[[1 1 2]
 [0 0 1]]
(2, 3)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章