安装numpy : pip install numpy

numpy数组生成方法总结

In [4]:
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'>
In [6]:
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'>
In [16]:
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用法:

In [2]:
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]]]

基本运算:

数组的算术运算是按照元素的

In [9]:
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(b
2)

#比较

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函数

In [12]:
import numpy as np

a = np.array([

[1, 2],

[3, 4]

]) b = np.array([

[1,1],

[0,4]

]) #运算

print("a
b:")

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参数用法:

In [19]:
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]]
In [20]:
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]
In [21]:
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]]

通用函数用法:

In [22]:
import numpy as np

a = np.arange(3)

print(a) print(np.exp2(a)) #输出以2weidi
[0 1 2]

[ 1. 2. 4.]

python3 numpy基本用法归纳总结的更多相关文章

  1. 比较合并工具vimdiff的主要用法归纳

    参考:https://www.ibm.com/developerworks/cn/linux/l-vimdiff/ vimdiff主要用法归纳如下:   1.打开文件 vimdiff file1 fi ...

  2. until与till的用法归纳

    until与till的用法归纳 崔荣斌 until和till两者都可作介词.连词,一般情况下可以互换使用.用于肯定句时,主句的动词只用延续性的,它所表示的动作一直延续到till或until表示的时间为 ...

  3. python3 字典常见用法总结

    python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...

  4. Python3 range() 函数用法

    Python3 range() 函数用法  Python3 内置函数 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表. Pyth ...

  5. 数据分析-numpy的用法

    一.jupyter notebook 两种安装和启动的方式: 第一种方式: 命令行安装:pip install jupyter 启动:cmd 中输入 jupyter notebook 缺点:必须手动去 ...

  6. numpy用法归纳

    1.生成数组 import numpy as np 把python列表转换为数组 >>> np.array([1, 2, 3]) array([1, 2, 3]) 把python的r ...

  7. numpy常用用法总结

    numpy 简介 numpy的存在使得python拥有强大的矩阵计算能力,不亚于matlab. 官方文档(https://docs.scipy.org/doc/numpy-dev/user/quick ...

  8. numpy.where() 用法详解

    numpy.where (condition[, x, y]) numpy.where() 有两种用法: 1. np.where(condition, x, y) 满足条件(condition),输出 ...

  9. numpy.loadtxt用法

    numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None ...

随机推荐

  1. bootstrap课程11 模态框如何使用

    bootstrap课程11 模态框如何使用 一.总结 一句话总结:多看手册咯. 1.模态框对应的英文单词是什么? modal,而不是madel 2.bootstrap中如何关闭某个效果? 比如要关掉m ...

  2. 6.在单机上实现ZooKeeper伪机群/伪集群部署

    转自:https://blog.csdn.net/poechant/article/details/6633923

  3. Flume Sink Processors官网剖析(博主推荐)

    不多说,直接上干货! Flume Sources官网剖析(博主推荐) Flume Channels官网剖析(博主推荐) Flume Channel Selectors官网剖析(博主推荐) Flume ...

  4. GIT,SVN,CVS的区别比较

    Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial  (其中,关于SVN,请参见博客:SVN常用命令 和 SVN服务器配置) 目 ...

  5. 新版本的AutoCAD2018 怎样删除 A360 Drive盘符

    通常的做法,如下: (1)点击开始菜单的“运行”(Win+R或者Win+X快捷选择运行),在弹出的对话框输入“regedit”,回车,进入注册表编辑器. (2)找到HKEY_LOCAL_MACHINE ...

  6. NAACL 2013 Paper Mining User Relations from Online Discussions using Sentiment Analysis and PMF

    中文简单介绍:本文对怎样基于情感分析和概率矩阵分解从网络论坛讨论中挖掘用户关系进行了深入研究. 论文出处:NAACL'13. 英文摘要: Advances in sentiment analysis ...

  7. C语言深度解剖读书笔记

    开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客.正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下 ...

  8. javascript中的事件问题的总结

    一.什么是事件? 事件就是DOM和浏览器之间的交互行为(只要触发了这个行为,也就相当于触发了事件),我们可以通过事件监听来绑定事件,例如:box.onclick=function(){},如果我们点击 ...

  9. C++卷积神经网络实例:tiny_cnn代码具体解释(8)——partial_connected_layer层结构类分析(上)

    在之前的博文中我们已经将顶层的网络结构都介绍完毕,包括卷积层.下採样层.全连接层,在这篇博文中主要有两个任务.一是总体贯通一下卷积神经网络在对图像进行卷积处理的整个流程,二是继续我们的类分析.这次须要 ...

  10. jedis连接sentinel示例程序

    1.添加依赖pom.xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedi ...