一、Numpy使用

news/2024/9/20 14:06:42 标签: numpy

 1、numpy的简单使用

import numpy as np
#利用as给numpy起一个别名np

# 使用array来承接这个数组
array = np.array([[1,2,3],
                  [2,3,4]])

print(array)
print("number of dim:", array.ndim)  # ndim 数组维度
print("shape:", array.shape)         # 数组的形状 
print("size", array.size)            # 数组的元素个数

打印结果如左图

2、 np.ones  np.zeros empty

# 生成一个三行四列全为1的矩阵
a = np.ones((3, 4), dtype=np.int16)
print("三行四列全为1:\n", a)

#生成一个二行三列全为0的矩阵
b = np.zeros((2,3), dtype=float)
print("二行三列全为0:\n", b)

c = np.empty((3,4))
print("空矩阵:\n", c)

#利用 dtype= 可以更改所存储元素类型

3、arange(左闭右开的有序数组)

开始 结束 步长

a = np.arange(10, 20, 2)
print("从10开始到20,步长为2的有序数组:\n", a)

# 若一个参数默认为该数组元素为10,且步长为1
b = np.arange(10)
print("从0开始到10,步长为1的有序数组:\n", b)

# 若俩个参数默认步长为1,从10-20
c = np.arange(10, 20)
print("从10开始到20,步长为1的有序数组:\n", c)

4、生成线段

a = np.linspace(1, 10, 5)
print("从1到10,分为5段:\n", a)

5、加和运算

a = np.array([10,20,30,40])
b = np.arange(4)

print("数组a和数组b分别为:\n", a, b)
c = a + b
print("加和运算后的结果数组为:\n", c)

6、乘法运算

a = np.array([10,20,30,40])
b = np.arange(4)

print("数组a和数组b分别为:\n", a, b)
c = a * b
print("运算后的结果数组为:\n", c)

 7、乘方运算

b = np.arange(4)
print("运算前数组:\n", b)

c = b**2     注意此处的乘方用法

print("运算后的结果数组为:\n", c)

 8、三角函数

b = np.arange(4)
print("运算前数组:\n", b)

c = np.sin(b)
print("运算后的结果数组为:\n", c)

c = np.cos(b)
print("运算后的结果数组为:\n", c)

c = np.tan(b)
print("运算后的结果数组为:\n", c)

其他反三角函数

 9、判断结果筛选(< == >)

array = np.array([[1,2,3],
                  [2,3,4]])
print("该数组为:\n", array)
print("该数组中元素大于2的位置情况:\n", array > 2)
print("该数组中元素等于3的位置情况:\n", array == 3)
print("该数组中元素小于2的情况:\n", array < 2)

10、矩阵相乘

a = np.array([[1,2],
                  [2,3]])
b = np.arange(4).reshape((2,2))
print("a数组为:\n", a)
print("b数组为:\n", b)
c = a*b
c_dot = np.dot(a,b)   另外一种写法:  a.dot(b)

print("对应位置相乘结果:\n", c)
print("线性代数矩阵运算相乘结果:\n", c_dot)

 11、随机数组,min,max,sum

# 生成一个两行三列的随机数数组
a = np.random.random((2,3))

print("生成的该随机数组为:\n", a)
print("该数组中元素总和为:\n", np.sum(a))
print("该数组中元素最小值为:\n", np.min(a))
print("该数组中元素最大值为:\n", np.max(a))


http://www.niftyadmin.cn/n/5667202.html

相关文章

Vue3快速入门+axios的异步请求(基础使用)

学习Vue之前先要学习htmlcssjs的基础使用 Vue其实是js的框架 常用到的Vue指令包括vue-on,vue-for,vue-blind,vue-if&vue-show,v-modul vue的基础模板&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8&…

Python redis 安装和使用介绍

python redis安装和使用 一、Redis 安装1.1、Windows安装 二、安装 redis 模块二、使用redis 实例1.1、简单使用1.2、连接池1.3、redis 基本命令 String1.3.1、ex - 过期时间&#xff08;秒&#xff09;1.3.2、nx - 如果设置为True&#xff0c;则只有name不存在时&#xff0c;当…

Neo4j 简单使用

在 Neo4j 项目中&#xff0c;搭建和使用主要包括以下几个步骤&#xff1a; 1. 安装 Neo4j 首先&#xff0c;安装 Neo4j 可以选择多种方式&#xff0c;包括&#xff1a; 本地安装&#xff1a;在 Windows、macOS 或 Linux 系统中&#xff0c;通过官网下载对应的 Neo4j 安装包。…

深入浅出通信原理

深入浅出通信原理 文章目录 深入浅出通信原理前言一、概述二、信号和频谱2.1 信号2.2 信号的分解与合成2.3 傅里叶变换的特性2.4 离散傅里叶变化 三 信道3.1 衰减和损耗3.2 多普勒效应 四 信源编码4.1 采样4.2 量化4.3 编码 五 基带信号的发送和接受5.1 脉冲成形5.2 眼图 六 频…

运维工程师面试整理-故障排查常见故障的排查步骤及方法

故障排查是运维工程师的重要技能之一。在面试中,面试官通常会通过故障排查相关的问题来评估你解决问题的能力和系统思维。以下是关于常见故障的排查步骤及方法的详细内容,帮助你更好地准备面试。 1. 故障排查的基本步骤 1. 问题识别 a. 描述问题:明确问题的具体表现

React Zustand状态管理库的使用

Zustand 是一个轻量级的状态管理库&#xff0c;适用于 React 和浏览器环境中的状态管理需求。它由 Vercel 开发并维护&#xff0c;旨在提供一种简单的方式来管理和共享状态。Zustand 的设计理念是尽可能简化状态管理&#xff0c;使其更加直观和易于使用。 Zustand 官网点击跳转…

idea多模块启动

文章目录 idea多模块启动2018版本的idea2019版本的idea idea多模块启动 2018版本的idea 1.首先看一下view> Tool Windows下有没有Run Dashboard 如果有&#xff0c;点击一下底部的窗口就会出现 如果不存在&#xff0c;执行下一步 2.查看自己项目的工作空间位置 点击 File&…

【QT】重载信号Connect链接使用方式

有一些Widget有重载的信号&#xff0c;比如QComboBox&#xff1a; void currentIndexChanged(int index) void currentTextChanged(const QString &text)在连接信号槽的时候&#xff0c;需要做一些处理&#xff0c;要表明具体连接的是哪个类型的信号&#xff0c;否则会报错…