1. 程式人生 > 其它 >Numpy-陣列的全通用函式

Numpy-陣列的全通用函式

陣列的全通用函式

import numpy as np

# 全稱通用函式(universal function),是一種能夠對陣列中所有元素進行操作的函式。
# 以 Numpy 陣列作為輸出,因此不需要對陣列每個元素都操作,比 math 庫中的函式操作效率更高。

# 建立2個數組 ---同型陣列
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[1, 2], [2, 1]])
print('arr1:\n', arr1)
print('arr2:\n', arr2)
print('*' * 100)

# 四則運算 +- * / **  ----->陣列對應位置元素之間的四則運算
# print('arr1 + arr2 :\n', arr1 + arr2)  # 對應位置元素相加
# print('arr1 - arr2:\n', arr1 - arr2)  # 對應位置元素相減
# print('arr1 * arr2:\n', arr1 * arr2)  # 對應位置元素進行相乘
# print('arr1 / arr2 :\n', arr1 / arr2)
# print('arr1 ** arr2 :\n', arr1 ** arr2)


# 比較運算 >= <= > < == !=   ----->返回的是bool陣列
# print('arr1 >= arr2:\n', arr1 >= arr2)  # 對應位置元素進行比較,如果滿足條件,則為True ,不滿足條件,則為False
# print('arr1 == arr2:\n', arr1 == arr2)
# print('arr1 < arr2 :\n', arr1 < arr2)

# 用法:利用比較運算返回的bool陣列,再去bool陣列索引,進行篩選、過濾資料


# 邏輯運算  ----返回值是bool值
# ---np.all----相當於and,只有所有的都為True,結果才為True,只要有一個False,結果就為False
# print('all:\n', np.all(arr1 >= arr2))
# print('all:\n', np.all(arr1 == arr2))
# ---np.any ---相當於or,只要有一個為True,結果就為True,只有全部都為False,結果才為False
# print('any:\n', np.any(arr1 >= arr2))
# print('any:\n', np.any(arr1 == arr2))
# print('any:\n', np.any(arr1 < arr2))