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

慢慢学。

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.]]

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

时间: 2024-10-08 07:04:18

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

numpy库中数组的数据类型

numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as np >>> arr1=np.array([1,2,3,4],dtype=np.float64) >>> arr2=np.array([1,2,3,4],dtype=np.int32) >>> arr1.dtype dtype('float64') >

修改python import模块中的变量

可以直接通过 模块名.变量名=xx 的方式修改模块中的全局变量,测试代码如下 模块:test_model.py x = 111 def inc_x(): global x x = x + 1 测试脚本:test.py import test_model print('test_model.x =', test_model.x) test_model.x = 10 print('test_model.x =', test_model.x) test_model.inc_x() print('tes

(转)轻松掌握shell编程中数组的常见用法及示例

缘起:在老男孩进行linux培训shell编程教学中,发现不少水平不错的网友及同学对数组仍然很迷糊,下面就给大家分享下数组的用法小例子,希望能给大家一点帮助.其实SHELL的数组很简单,好用.我们学习都应该遵循简单.易用的原则. shell编程中数组的简单用法及示例 新版本的Bash支持一维数组. 数组元素可以使用符号variable[xx]等方式来初始化. 另外, 脚本可以使用declare -a variable语句来指定一个数组等.要引用一个数组元素(也就是取值), 可以使用大括号, 访问

四、Numpy基础:数组运算

h2 { font-size: 24px; height: 35px; line-height: 35px !important; width: 95%; background-color: #169FE6; padding-left: 10px; color: white } table { border: 1px solid #d3d3d3; background: #fefefe; width: 90% } th,td { padding: 0.5% 1% 0.5% } th { back

os模块中关于文件/目录常用的函数使用方法

函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('.'表示当前目录,'..'表示上一级目录) mkdir(path) 创建单层目录,如该目录已存在抛出异常 makedirs(path) 递归创建多层目录,如该目录已存在抛出异常,注意:'E:\\a\\b'和'E:\\a\\c'并不会冲突 remove(path) 删除文件 rmdir(path) 删除单层目录,如该目录非空则抛出异常 remov

python访问sql server安装、配置、代码示例

freeTDS是能够用Linux和Unix连接MS SQLServer和Sybase数据库,TDS的意思是"表列数据流" 安装gcc组件: yum install -y gcc 否则configure的时候报错: configure: error: no acceptable C compiler found in $PATH Linux下安装freetds-dev: download source: http://mirrors.ibiblio.org/freetds/stable/

Python numpy模块的数据分析实验(1)

# -*- coding: cp936 -*-import numpy as npprint np.version.versionprint np.array ([1,2,3,4])print np.array ((1,2,3,4))print np.array ((1.2,2,3,4))print type(np.array ((1,2,3,4)))print np.array ([[1,2],[3,4]])print np.array((1.2,2,3,4), dtype=np.int32)

python数据分析(四) python numpy--函数和数组运算

1.数组当中的函数 通用函数是一种对ndarray中的数据执行元素级运算的函数.数组当中的函数与python当中内置的函数没有什么太大的区别,区别就是数组当中的函数可以对数组当中的每一个值进行函数运算不需要编写循环(矢量化). 一元函数 接受一个数组进行运算的函数叫做一元函数,如sqrt,exp In [4]: arr=np.arange(10) In [5]: arr Out[5]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [6]: np.sqrt(a

python/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?

Python中的list/tuple,numpy中的ndarrray与tensorflow中的tensor. 用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量,向量和张量. 从python内存角度理解,就是一个数值,长度为1,并且不是一个序列: 从numpy与tensorflow数学角度理解,就是一个标量,shape为(),其轴为0: [1,2,3,4,5,6] 从python内存角度理解,就是1*6或者长度为6的一个序列: 从numpy与tensorf