当前位置: 首页 > news >正文

Numpy基础练习

import numpy as np

1.创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1

n = np.zeros(10,dtype=np.int32)
n[4] = 1

2.创建一个元素从10到49的ndarray对象

n = np.arrange(10,50)

3.将第2题的所有元素位置反转

n[::-1]
  1. 使用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素
n = np.random.random(size=(10,10))
display(n,np.max(n),np.min(n))

5.创建一个10*10的ndarray数组,且矩阵边界全为1,里面全为0

方法1
n = np.zeros((10,10),dtype=np,int16)
n[[0,-1]] = 1 # 第0行和最后1行为1
n[:,[0,-1]] = 1 # 第0列和最后一列为1
----
方法2
n = np.ones((10,10),dtype=np.int16)
n[1:-1,1:-1] = 0

6.创建一个每一行都是0到4的5*5矩阵

l = [0,1,2,3,4]
l*5
n = np.array(l*5).reshape((5,5))

7.创建一个范围在(0,1)之间的长度为12的等差数列

n = np.linspace(0,1,12)

8.创建一个长度为10的随机数组并排序

n = np.random.randint(0,10,10)
n.sort()

9.创建一个长度为10的随机数组并将最大值替换为0

n = np.random.randint(0,10,size=10)
//最大值可能有多个
max1 = np.max(n)
np.argwhere(n==max1) # 多个最大值对应的下标
# 变为一维
# 所有最大值对应的索引
max_indexs = np.argwhere(n==max1).reshape(-1)
# -1我们就不用管它几个数字  如果你知道是3你可以写3
n[max_indexs] = 0

10.给定一个4维矩阵,如何得到最后两维的和

n = np.random.randint(0,10,size=(2,3,4,5))
n.sum(axis=(2,3))
# 第一个维度是axis=0
# 第二个维度是axis=1
# 第三个维度是axis=2
# 第四个维度是axis=3

11.给定数组[1,2,3,4,5],如何得到在这个数组每个元素之间插入3个0后的新数组?

n = np.arrange(1,6)
n2 = np.zeros(17,dtype=np.int16)
n2[::4] = n

12.给定一个二维矩阵,如何交换其中两行的元素?

n = np.random.randint(0,10,size=(4,4))
display(n)
# 可以利用索引交换行
n2 = n[[1,0,2,3]]
display(n2)

13.创建一个100000长度的随机数组,使用两种方法对其求三次方,并比较所用时间

n = np.random.randint(0,10,size=100000)
%timeit np.power(n,3)
%timeit n**3

14.创建一个53随机矩阵和一个32随机矩阵,求矩阵积

n1 = np.random.randint(0,100,size=(5,3))
n2 = np.random.randint(0,100,size=(3,2))
np.dot(n1,n2)

15.矩阵的每一行的元素都减去该行的平均值

n = np.random.randint(0,10,size=(3,4))
display(n)
n2 = n.mean(axis=1).reshape(3,1)
n-n2

在这里插入图片描述

n = np.zeros((8,8),dtype=int)
n[::2,1::2]=1
n[1::2,::2]=1

在这里插入图片描述

n = np.random.randint(0,100,size=(5,5))
min1 = n.min()
max1 = n.max()
# 归一化: 0-1之间
(n-min1)/(max1-min1)
http://www.lryc.cn/news/498834.html

相关文章:

  • 一番赏小程序定制开发,打造全新抽赏体验平台
  • 【前端】将vue的方法挂载到window上供全局使用,也方便跟原生js做交互
  • Oracle查询优化:高效实现仅查询前10条记录的方法与实践
  • go语言编译问题
  • mobi文件转成pdf
  • MobaXterm解决中文显示乱码问题
  • 西门子 SINAMICS G120 变频器借助 ProfiNet 转 EtherCAT 实现与汇川 H5U 通讯实例
  • 流媒体之linux下离线部署FFmpeg 和 SRS
  • NOBLEROYCE罗慕路斯门窗 以精工匠造开启私属人生
  • 【算法day8】字符串:反转
  • 【C++进阶】第二节:多态
  • 梯度下降法以及 Python 实现
  • Postman cURL命令导入导出
  • Java 在Json对象字符串中查找和提取特定的数据
  • synchronized的特性
  • 领域泛化与领域自适应
  • 使用aspx,完成一个转发http的post请求功能的api接口,url中增加目标地址参数,传递自定义header参数
  • 实际车辆行驶轨迹与预设路线偏离检测的Java实现
  • 从excel数据导入到sqlsever遇到的问题
  • Linux操作系统——Linux的磁盘管理系统、文件inode及软硬链接
  • 算法刷题Day11: BM33 二叉树的镜像
  • WPF+MVVM案例实战与特效(三十五)- 掌握 Windows 屏幕键盘控制的艺术(TouchKeyBoardHelper 类)
  • Python+OpenCV系列:绘制中文的方法
  • 精品推荐 | StarLighter 1×dsDNA HS Assay Kit
  • 挑战用React封装100个组件【010】
  • burp suite 5
  • 锐捷Web认证
  • 【开源免费】基于Vue和SpringBoot的服装生产管理系统(附论文)
  • 每日速记10道MySQL面试题16
  • 云计算考试题