码迷,mamicode.com
首页 > 编程语言 > 详细

python---Numpy模块中数组运算的常用代码示例

时间:2019-05-02 09:29:39      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:函数   不同   ica   不同的   new   指定位置   numpy   --   div   

慢慢学。

import numpy as np

# Numpy数组运算

print(========常见数组数学运算+-*/%**=========)
arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3])
print(arr1 + arr2)
print(arr1 - arr2)
print(arr1 * arr2)
print(arr1 / arr2)
print(arr1 % arr2)
print(arr1 ** arr2)
print(========大小不同的数组参与运算的唯一办法,广播=========)
arr3 = np.array([1, 2])
arr4 = np.array([[1, 2], [3, 4], [5, 6]])
print(arr3 + arr4)
print(========用newaxis常量明确指定数组的广播方式=========)
arr1 = np.zeros((2, 2), float)
arr2 = np.array([1., 2.], float)
print(arr1 + arr2)
print(arr1 + arr2[np.newaxis, :])
print(arr1 + arr2[:, np.newaxis])
print(========数组支持按条件查询=========)
arr = np.array([[1, 2], [5, 9], [6, 15]], float)
print(arr > 7)
print(arr[arr>=7])
print(arr[np.logical_and(arr>5, arr<11)])
print(========根据索引选取元素=========)
arr1 = np.array([1, 4, 5, 9], float)
arr2 = np.array([0, 1, 1, 3, 1, 1, 1], int)
print(arr1[arr2])
print(arr1[[0, 1, 1, 3, 1]])
print(========多维数组的选取,使用多个一维度的索引数组=========)
arr1 = np.array([[1, 2], [5, 13]], float)
arr2 = np.array([1, 0, 0, 1], int)
arr3 = np.array([1, 1, 0, 1], int)
print(arr1[arr2, arr3])
print(========take函数支持以索引数组为参数,从调用它的数组选取元素=========)
arr1 = np.array([7, 6, 6, 9], float)
arr2 = np.array([1, 0, 1, 3, 3, 1], int)
print(arr1.take(arr2))
print(========用axis指定维度,take函数可从调用它的多维数组,沿指定维度选取一部分元素=========)
arr1 = np.array([[10, 21], [62, 33]], float)
arr2 = np.array([0, 0, 1], int)
print(arr1.take(arr2, axis=0))
print(arr1.take(arr2, axis=1))
print(========put函数为take的逆函数,将一个数组的元素放到调用该函数的另一个数组的指定位置=========)
arr1 = np.array([2, 1, 6, 2, 1, 9], float)
arr2 = np.array([3, 10, 2], float)
arr1.put([1, 4], arr2)
print(arr1)
print(========两维数组的乘法也是元素级的(矩阵乘法不是元素级,啥意思?)=========)
arr1 = np.array([[11, 22], [23, 14]], float)
arr2 = np.array([[25, 30], [13, 33]], float)
print(arr1 * arr2)

 

PS C:\test> & C:/Python37/python.exe c:/test/ml.py
========常见数组数学运算+-*/%**=========
[2 4 6]
[0 0 0]
[1 4 9]
[1. 1. 1.]
[0 0 0]
[ 1  4 27]
========大小不同的数组参与运算的唯一办法,广播=========
[[2 4]
 [4 6]
 [6 8]]
========用newaxis常量明确指定数组的广播方式=========
[[1. 2.]
 [1. 2.]]
[[1. 2.]
 [1. 2.]]
[[1. 1.]
 [2. 2.]]
========数组支持按条件查询=========
[[False False]
 [False  True]
 [False  True]]
[ 9. 15.]
[9. 6.]
========根据索引选取元素=========
[1. 4. 4. 9. 4. 4. 4.]
[1. 4. 4. 9. 4.]
========多维数组的选取,使用多个一维度的索引数组=========
[13.  2.  1. 13.]
========take函数支持以索引数组为参数,从调用它的数组选取元素=========
[6. 7. 6. 9. 9. 6.]
========用axis指定维度,take函数可从调用它的多维数组,沿指定维度选取一部分元素=========
[[10. 21.]
 [10. 21.]
 [62. 33.]]
[[10. 10. 21.]
 [62. 62. 33.]]
========put函数为take的逆函数,将一个数组的元素放到调用该函数的另一个数组的指定位置=========
[ 2.  3.  6.  2. 10.  9.]
========两维数组的乘法也是元素级的(矩阵乘法不是元素级,啥意思?)=========
[[275. 660.]
 [299. 462.]]

 

python---Numpy模块中数组运算的常用代码示例

标签:函数   不同   ica   不同的   new   指定位置   numpy   --   div   

原文地址:https://www.cnblogs.com/aguncn/p/10801589.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!