本文作者:孙晓玲

文字编辑:钱梦璇

技术总编:张   邯

NumPy是短语“Numerical Python”的缩写,NumPy库是一个功能强大的Python库,主要用于对多维数组进行计算,其提供了大量的库函数和算法,帮助程序员轻松地进行数值计算。作为一个第三方库,NumPy库在使用之前需要提前安装,最简单的方式就是在命令提示符窗口键入“pip install numpy”。

NumPy库中的矩阵模块为ndarray(数组)对象。调用NumPy数组的array函数的基本语法如下:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

各参数的含义如下表所示:

1

生成NumPy数组

我们先生成一个NumPy数组,输出查看一下:

import numpy as np a = np.array([1,2,3,4,5,6,7,8,9,10]) print(a)

输出结果:

输出的结果为类似列表的形式,但明显看出不同于列表,列表的元素之间是由逗号分隔,输出结果的元素之间以空格分隔。

我们可以对生成的数组用数据方法查看其属性,这些方法对一般的数据类型都是通用的。

a = np.array([1,2,3,4,5,6,7,8,9,10])  print(a.sum()) #计算总和print(a.min()) #求最小值print(a.max()) #求最大值print(a.cumsum()) #计算累计和print(type(a)) # 查看数据类型print(a.dtype) # >查看数组元素数据类型print(a.size) # 长度print(a.shape) # 形状

输出结果:

通过数据分析方法可以查看“a”的数据信息并做一些简单的描述性统计。由输出结果我们也可以发现,“a”的数据类型为“numpy.ndarray”,确实不是列表。

2

NumPy数组属性

学习一个新的数据类型,首先需要知道如何查看它的属性,下面我们通过生成一个二维数组学习查看NumPy数组属性的一些方法及属性含义。

a = np.array([[11, 12, 13, 14, 15],           [16, 17, 18, 19, 20],           [21, 22, 23, 24, 25],           [26, 27, 28 ,29, 30],           [31, 32, 33, 34, 35]])print(type(a)) # NumPy数组实际上被称为ndarrayprint(a.dtype) # int32print(a.size) # 25print(a.shape) # (5, 5) 数组的形状是它有多少行和列print(a.itemsize) # 4print(a.ndim) # 2print(a.nbytes) # 100

itemsize属性是每个元素占用的字节数。这个数组的数据类型是int32,一个int32中有32位,一个字节中有8位,除以32除以8,你就可以得到它占用了多少字节,在本例中是4(因电脑而异)。ndim 属性是数组的维数,这里是二维数组。nbytes 属性是数组中的所有数据消耗掉的字节数,一共25个元素,每个元素占4个字节,一共占4*25=100个字节。

3

NumPy数组切片

往往我们在使用数据的时候并不是对整个数据进行操作,我们需要的是满足一定条件的数据,所以数据切片在数据清洗中起着至关重要的作用,接下来将为大家介绍NumPy数组的切片机制,这里以刚刚生成的二维数组为例。

多维数组的切片以逗号为分隔对各维度切片,在二维数组中就只有一个逗号,逗号前为行切片逗号后为列切片。现在我想得到以下四种切片结果:

1.所有行第一列;

2.第0行所有列;

3.第0列1到4行;

4.索引值能被2整除的所有行能被2整除的所有列。

为了输出结果的美观,这里使用交互式呼叫方式输出。

a[:, 1]a[0, 1:4]a[1:4, 0]a[::2,::2]

输出结果:

这样就得到切片得到我们想要的数据啦。

4

常用快捷NumPy数组函数现在为大家介绍几个常用的快捷生成NumPy数组的函数。1.全零数组

  可以指定数组的行列元素个数,具体程序如下:

import numpy as npa = np.zeros((5,5))   # 创建全0数组print(a)

得到了一个5×5的全零数组,输出结果如下:

2.全一数组有时候,我们需要一个全一数组,具体程序如下:

b = np.ones((5,2))    # 创建全1数组print(b)

得到了一个5×2的全一数组,输出结果如下:

3.全指定数字数组

  更一般的,我们也可以得到全部都是指定数字的数组,例如全部是数字7,具体命令如下:

c = np.full((2,2), 7)  # 创建全7数组print(c)

得到了一个2×2的全部是数字7数组,输出结果如下:

4.单位矩阵数组

  如果想得到单位矩阵,可用如下程序:

d = np.eye(3)         # 创建单位矩阵,3行3列print(d) 

得到单位矩阵如下:

5.随机数数组

  类似于stata中的随机数函数,NumPy也有创建随机数的函数,程序如下:

e = np.random.random((2,2))  # 创建随机数数组print(e)

得到2×2的随机得到单位矩阵如下:

关于NumPy数组的基本内容就介绍到这里啦,希望对您有所帮助。

对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!往期推文推荐

“个性化”sortobs命令,教你实现排序自由

携手战疫,我们在行动

恭贺新春,平安顺遂|各省疫情关注度地图

过年观影指南(二)

过年观影指南(一)

egenmore隐藏功能——进制转换

相遇insobs,如暗室逢灯

数据可视化之地理坐标系

SFI:Stata与Python的数据交互手册(一)Stata模拟构建朋友圈一个粉丝的疑惑—— local和scalar新的一年,效率满满~(下)

自科基金项目信息爬取

rename group批量修改变量名

小命令,大不同——insobs插入新值

新的一年,效率满满~(上)

圆蛋快乐BvD最后一弹——宏观数据宝典

关于我们

微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata和python的数据处理和分析技巧。投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

numpy随机生成01矩阵_NumPy数组基本介绍相关推荐

  1. numpy随机生成01矩阵_Python数据分析Numpy库常用函数详解,提到循环就该想到的库...

    Python进行数据分析的核心库肯定是Pandas,该库差不多可以解决结构化数据的绝大部分处理需求.在<Python数据分析常用函数及参数详解,可以留着以备不时之需 >一文中也已经对该库的 ...

  2. 【python】用numpy随机生成一元(多元)数据;如线性、指数、三角函数,或者多种样式结合

    用numpy随机生成一元(多元)数据:如线性.指数.三角函数,或者多种样式结合 题目 代码 结果 随机数 题目 1.用numpy随机生成一元(多元)数据:如线性.指数.三角函数,或者多种样式结合: 2 ...

  3. c语言自动生成矩阵,C语言如何随机生成一个矩阵

    C语言如何随机生成一个矩阵 发布时间:2020-10-19 18:13:23 来源:亿速云 阅读:270 作者:Leah 这篇文章将为大家详细讲解有关C语言如何随机生成一个矩阵,文章内容质量较高,因此 ...

  4. c++随机打乱数组_NumPy数组基本介绍

    本文作者:孙晓玲 文字编辑:钱梦璇 技术总编:张   邯 NumPy是短语"Numerical Python"的缩写,NumPy库是一个功能强大的Python库,主要用于对多维数组 ...

  5. python随机生成0-1之间的小数

    numpy模块 import numpy as np a = np.random.uniform() # np.random.uniform(0,1) 0-1之间按照均匀分布采样 random模块 i ...

  6. 返回1到n的所有组合python_如何在Python中生成0-1矩阵的所有可能组合?

    如何生成大小为K的0-1矩阵的所有可能组合? 例如,如果我取K = 2且N = 2,我得到以下组合. combination 1 [0, 0; 0, 0]; combination 2 [1, 0; ...

  7. numpy的生成网格矩阵 meshgrid()

    numpy模块中的meshgrid函数用来生成网格矩阵,最简单的网格矩阵为二维矩阵 meshgrid函数可以接受 x1, x2,..., xn 等 n 个一维向量,生成 N-D 矩阵. 1 基本语法 ...

  8. c语言随机生成整数存放一维数组_文科生学 Python 系列 7: Numpy 数组/索引和切片...

    第四课:本课内容: • 0. 导入 NumPy 包 • 1. 创建 NumPy 数组 • 2. 索引和切片 • 3. 读取文件 • 4. 布尔型索引 • 5. 数组的运算 • 6. 常用函数举例 Nu ...

  9. numpy随机生成数组

    https://blog.csdn.net/qq_41940950/article/details/83895318 np.random.normal()函数 这是的np是numpy包的缩写,np.r ...

最新文章

  1. R语言ggplot2可视化将X轴置于ggplot2图表顶部实战
  2. 在大厂干了 5 年产品后,如今她裸辞回家开店去了
  3. 拓扑排序之变量序列代码
  4. 5分钟了解 Python 中的super函数是如何实现继承的
  5. SAP扫盲系列之二:SAP ABAP应用服务器的组成部分
  6. 超完整的 Chrome 浏览器客户端调试大全
  7. 数据结构--位图 BitMap
  8. 怎样通过FineReader 的“文本”窗口检查文本
  9. jsp学习笔记 - 内置对象 session
  10. vijos p1782——借教室(noip2012提高组第2题)
  11. JPA唯一索引更新删除的问题
  12. 【渝粤教育】电大中专营销策划原理与实务作业 题库
  13. eclipse左边工程列表不见了,怎么调出来
  14. 获取mysql存储过程返回值_MySQL函数,存储过程,用户管理
  15. JMM(Java内存模型)详解
  16. php文件怎么改为mp3,如何将wav转换成MP3格式的音频文件
  17. 图像滤镜艺术---美颜相机之高级柔焦效果实现
  18. HDU-4126(Genghis Khan the Conqueror)
  19. 阿里云机器学习平台PAI+AI开源项目测评来啦
  20. DeepLearning | 图卷积神经网络(GCN)解析(论文、算法、代码)

热门文章

  1. Remote System Upgrade With Cyclone III Devices
  2. 字符转十六进制 String = HEX using hexdump on linux
  3. Ubuntu 安装LAMP ...
  4. 神经网络训练集与Fock矩阵
  5. 模拟退火算法SA参数设置实验记录
  6. 定时器回调函数怎么写_ESP8266_04管脚控制与软件定时器
  7. 4.10 风格代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  8. STM32 基础系列教程 24 - USB_HID_key
  9. OPNET中的zigbee
  10. 波束管理 Beam Management