python3 numpy基本用法归纳总结
安装numpy : pip install numpy
numpy数组生成方法总结
import numpy as np #使用列表生成一个一维数组
data = [1,2,3,4,5]
x = np.array(data)
print(x)
print(x.dtype) #打印数组类型
print(type(x))
[1 2 3 4 5]
int32
<class 'numpy.ndarray'>
import numpy as np #使用列表生成一个二维数组
data = [[1,2], [3,4], [5,6]]
x = np.array(data)
print(x)
print(x.dtype)
print(x.ndim) #打印数组维度
print(x.shape) #打印数组各个维度的长度
print(type(x))
[[1 2]
[3 4]
[5 6]]
int32
2
(3, 2)
<class 'numpy.ndarray'>
import numpy as np #使用zeros创建一个长度为4, 元素为0的一维数组
x = np.zeros(4)
print(x)
#创建一个二维数组, 一维长度为2, 二维长度为3, 元素为0的数组
x = np.zeros((2,3))
print(x)
#使用ones创建一个二维数组, 一维长度为2, 二维长度为3, 元素为1的数组
x = np.ones((2,3))
print(x)
#使用empty创建一个二维数组, 一维长度为3, 二维长度为3, 元素为初始化的数组
y = np.empty((3,3))
print(y)
#使用arange生成连续元素
a = np.arange(5)
print(a)
b = np.arange(1,5,2)
print(b)
[ 0. 0. 0. 0.]
[[ 0. 0. 0.]
[ 0. 0. 0.]]
[[ 1. 1. 1.]
[ 1. 1. 1.]]
[[ 2.97907948e-317 2.69387831e-316 8.66647269e-317]
[ 2.48185956e-315 2.48185956e-315 2.48185909e-315]
[ 0.00000000e+000 0.00000000e+000 6.52072824e+091]]
[0 1 2 3 4]
[1 3]
reshape用法:
import numpy as np #二维数组
a = np.arange(10).reshape(2,5)
print(a)
print("\n")
#三维数组
a = np.arange(12).reshape(2,2,3)
print(a)
[[0 1 2 3 4]
[5 6 7 8 9]] [[[ 0 1 2]
[ 3 4 5]] [[ 6 7 8]
[ 9 10 11]]]
基本运算:
数组的算术运算是按照元素的
import numpy as np a = np.array([30,40,50,60])
b = np.arange(4) print(a)
print(b)
print("\na-b:")
#俩个数据相减
c = a - b
print(c)
print("\nb2:")
#b数组二次方
print(b2)
#比较
print("\na<45:")
print(a<45)
[30 40 50 60]
[0 1 2 3] a-b:
[30 39 48 57] b**2:
[0 1 4 9] a<45:
[ True True False False]
numpy中的*是按元素计算的, 如果矩阵乘法, 需要调用dot函数
import numpy as np a = np.array([
[1, 2],
[3, 4]
]) b = np.array([
[1,1],
[0,4]
]) #运算
print("ab:")
print(a*b) #dot运算
print("\ndot(a,b):")
print(np.dot(a,b))
a*b:
[[ 1 2]
[ 0 16]] dot(a,b):
[[ 1 9]
[ 3 19]]
axis参数用法:
import numpy as np a = np.arange(12).reshape(2,2,3)
print(a)
print("计算第一维度和:")
print(a.sum(axis=0))
print("计算第二维度和:")
print(a.sum(axis=1))
print("计算第三维度和:")
print(a.sum(axis=2)) #说白了就是说计算第一维度的时候, 把2,3下标值一样的, 第一下标值不一样的加在一起, 重新生成一个数组, 以此类推
[[[ 0 1 2]
[ 3 4 5]] [[ 6 7 8]
[ 9 10 11]]]
计算第一维度和:
[[ 6 8 10]
[12 14 16]]
计算第二维度和:
[[ 3 5 7]
[15 17 19]]
计算第三维度和:
[[ 3 12]
[21 30]]
import numpy as np
a = np.arange(12).reshape(3,4)
print(a)
print("找出第一维度的最小值:")
print(a.min(axis=0))
print("找出第二维度的最小值:")
print(a.min(axis=1))
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
找出第一维度的最小值:
[0 1 2 3]
找出第二维度的最小值:
[0 4 8]
import numpy as np
a = np.arange(12).reshape(3,4)
print(a)
print("计算第一维度的累加值:")
print(a.cumsum(axis=0))
print("计算第二维度的累加值:")
print(a.cumsum(axis=1))
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
计算第一维度的累加值:
[[ 0 1 2 3]
[ 4 6 8 10]
[12 15 18 21]]
计算第二维度的累加值:
[[ 0 1 3 6]
[ 4 9 15 22]
[ 8 17 27 38]]
通用函数用法:
import numpy as np a = np.arange(3)
print(a) print(np.exp2(a)) #输出以2weidi
[0 1 2]
[ 1. 2. 4.]
python3 numpy基本用法归纳总结的更多相关文章
- 比较合并工具vimdiff的主要用法归纳
参考:https://www.ibm.com/developerworks/cn/linux/l-vimdiff/ vimdiff主要用法归纳如下: 1.打开文件 vimdiff file1 fi ...
- until与till的用法归纳
until与till的用法归纳 崔荣斌 until和till两者都可作介词.连词,一般情况下可以互换使用.用于肯定句时,主句的动词只用延续性的,它所表示的动作一直延续到till或until表示的时间为 ...
- python3 字典常见用法总结
python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...
- Python3 range() 函数用法
Python3 range() 函数用法 Python3 内置函数 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表. Pyth ...
- 数据分析-numpy的用法
一.jupyter notebook 两种安装和启动的方式: 第一种方式: 命令行安装:pip install jupyter 启动:cmd 中输入 jupyter notebook 缺点:必须手动去 ...
- numpy用法归纳
1.生成数组 import numpy as np 把python列表转换为数组 >>> np.array([1, 2, 3]) array([1, 2, 3]) 把python的r ...
- numpy常用用法总结
numpy 简介 numpy的存在使得python拥有强大的矩阵计算能力,不亚于matlab. 官方文档(https://docs.scipy.org/doc/numpy-dev/user/quick ...
- numpy.where() 用法详解
numpy.where (condition[, x, y]) numpy.where() 有两种用法: 1. np.where(condition, x, y) 满足条件(condition),输出 ...
- numpy.loadtxt用法
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None ...
随机推荐
- nagios 安装配置(包含nrpe端)全 (一)
一.nagios安装: 1.安装下面命令: 这是本人监控服务时自己定义插件所用到的几个系统命令.可不安装. (1)iostat:监控磁盘IO信息: apt-getinstall sysstat (2) ...
- C#中数组与ArrayList的简单使用
1. 多维数组 2. 锯齿数组 3. 数组的常用操作 4. ArrayList 1. 多维数组 多维数组:行数和列数在定义时已确定 string[,] arr = new string[2, 3]; ...
- xpath使用方法详解id 、starts-with、contains、text()和last() 的用法
1.XPATH使用方法 使用XPATH有如下几种方法定位元素(相比CSS选择器,方法稍微多一点): a.通过绝对路径定位元素(不推荐!) WebElement ele = driver.findEle ...
- HDU1969 Pie(二分搜索)
题目大意是要办生日Party,有n个馅饼,有f个朋友.接下来是n个馅饼的半径.然后是分馅饼了, 注意咯自己也要,大家都要一样大,形状没什么要求,但都要是一整块的那种,也就是说不能从两个饼中 各割一小块 ...
- 主定理(Master Theorem)与时间复杂度
1. 问题 Karatsuba 大整数的快速乘积算法的运行时间(时间复杂度的递推关系式)为 T(n)=O(n)+4⋅T(n/2),求其最终的时间复杂度. 2. 主定理的内容 3. 分析 所以根据主定理 ...
- Centos NFS 简单设置
Server 端: NFS的安装配置:centos 5 :yum install nfs-utils portmapcentos 6 :yum install nfs-utils rpcbind vi ...
- JavaScript字符串替换replace方法
在日常的js开发中, 当要把字符串中的内容替换时,如果使用类似C#的string.replace方法,如下 var str='aabbccaa'; str=str.replace('aa','dd') ...
- JSONModel
JSONModel 一个解析 JSON 数据的开源库,可以将 JSON 数据直接解析成自定义的 model ,其中对数据类型的检查和对数据类型的转换比较贴心.最近在项目中使用了以后觉得确实方便很多,推 ...
- xmppframework开发基础
xmppframework是XMPP协议的一个objective-c实现. 要了解xmppframework, 从这里開始吧:https://github.com/robbiehanson/XMPPF ...
- AForge,Emgu.CV抓拍图像大小
原文:AForge,Emgu.CV抓拍图像大小 2017年,忙忙碌碌地过去了,象往年一样,依然没有时间上CSDN,博客园. 这一年是打工以来最辛苦的一年. 这一年用了不少自己没有接触过的东西.如人脸识 ...