python3 numpy详解

2023-11-06

基础操作

import numpy as np

# np创建数组
a = np.array([1,2,3])
print(a)
print(type(a))

a2 = np.array(range(10))
print(a2)
print(type(a2))
# numpy特有的方法 生成一个数组类型 与array(range())一致
a3 = np.arange(0,12,2)
print(a3)
print(type(a3))
# dtype是当前数组里边存放的数字的类型
print(a3.dtype)
# 手动指定数值类型
a4 = np.array(range(1,4),dtype="float32")
a4 = np.array([1,0,1,1,5],dtype=bool)
print(a4)
print(a4.dtype)
# 调整数字类型
a5 = a4.astype("int32")
print(a5.dtype)

读取文件(csv)

import numpy as np

us_file_path = "./data/US_video_data_numbers.csv"
uk_file_path = "./data/GB_video_data_numbers.csv"
# 默认情况下np.loadtxt 不会对csv文件进行按照  ,  分割
#需要指定分隔符  delimiter=","
# 默认使用科学计数法 dtype 指定加载出来的数据类型
# 默认情况下unpack为false 指定为True之后行列互换  即矩阵转置矩阵
t1 = np.loadtxt(us_file_path,delimiter=",",dtype=int,unpack=True)
print(t1)
  • 矩阵转置方法
# reshape中传入的参数在官方文档中传入的是元组 所以建议传入元组
t2 = np.arange(24).reshape((4,6))
print(t2)
# 转置方法1
print(t2.transpose())
# 转置方法2  T是一个属性
print(t2.T)
# 转置方法3  转换1轴 和 0 轴
# 注意 轴0 1 2 ... 分别是在定义矩阵时的参数shape(3,2,5,...)
print(t2.swapaxes(1,0))
  • 取值赋值索引
import numpy as np

us_file_path = "./data/US_video_data_numbers.csv"
uk_file_path = "./data/GB_video_data_numbers.csv"
# 默认情况下np.loadtxt 不会对csv文件进行按照  ,  分割
#需要指定分隔符  delimiter=","
# 默认使用科学计数法 dtype 指定加载出来的数据类型
# 默认情况下unpack为false 指定为True之后行列互换  即矩阵转置矩阵
t1 = np.loadtxt(us_file_path,delimiter=",",dtype="int")

# 取数据的行
print(t1[2])
# 取连续多行数据
print("\n")
print(t1[2:5])
# 取不连续多行 注意有两个方括号
print("\n")
print(t1[[2,8,56]])
# 取列
print("\n")
print(t1[1,:])#每一列都要
print(t1[:,0])
# 取连续多列
print("\n")
print(t1[:,2:])
# 取不连续多列
print("\n")
print(t1[:,[2,3,3]])
# 取多行多列
print("\n")
print(t1[2,3])
print("\n")
# 取第3行到第五行  第二列 到 第四列
print(t1[2:5,1:4])
# 取多個不相邻的点
print("\n")
# print(t1[[0,3],[0,1,2]])

# 更多索引方法
a = np.arange(24).reshape(4,6)
a[a>10] = 0
print(a)

#numpy中的三元运算符
# 把小于10的赋值100 否则赋值300
np.where(a<=10,100,300)
# 剪枝
# 把小于10的换为10  大于14的换成14 (等于无所谓)
print(a.clip(10,14))

# 强行赋值nan
# nan是浮点类型 所以需要把interger强行转化为float

a2 = a.astype(float)
a2[3,3] = np.nan
print(a2) 
  • 数组的拼接
import numpy as np
# 拼接两组数据并且在最后一行记录国家信息
us_file_path = "./data/US_video_data_numbers.csv"
uk_file_path = "./data/GB_video_data_numbers.csv"
# 默认情况下np.loadtxt 不会对csv文件进行按照  ,  分割
#需要指定分隔符  delimiter=","
# 默认使用科学计数法 dtype 指定加载出来的数据类型
# 默认情况下unpack为false 指定为True之后行列互换  即矩阵转置矩阵
t1 = np.loadtxt(us_file_path,delimiter=",",dtype="int")
t2 = np.loadtxt(uk_file_path,delimiter=",",dtype="int")

# 构造全为 0 的数据
zeros_data = np.zeros((t1.shape[0],1)).astype(int)
ones_data  = np.ones((t2.shape[0],1)).astype(int)
# 分别添加一列数据 在最后边 水平拼接 使得数据更多行
us_data = np.hstack((t1,zeros_data))
uk_data = np.hstack((t2,ones_data))
# 拼接us uk  竖直拼接  使得数据更多行
final_data = np.vstack((us_data,uk_data))
print(final_data)

numpy 中的其他好使的方法

import numpy as np

# 生成只有对角线是 1 的矩阵
t1 = np.eye(10)
t1[3,4] = 9
print(t1)
# 求每一列的最大值
max = np.argmax(t1,axis=0)
print(max)
# 生成随机数
# 如果不使用种子 每次得到的数字都是不一样的  而使用了种子
# 每次得到的随机结果都是一样的
np.random.seed(10)
t = np.random.randint(0,20,(3,4))
print(t)
  • NAN说明
import numpy as np
# 两个nan不相等
print(np.nan == np.nan)
# 判断数组中nan的数量
t2 = np.arange(20).reshape((4,5)).astype(float)
print(np.count_nonzero(t2))
t2[3,3] = np.nan
print('\n')
print(np.count_nonzero(t2!=t2))
#nan和任何值计算都是nan
# 要注意在要计算之前一般应该判断矩阵中是否含有nan
#将缺失的值替换为中值或者平均值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3 numpy详解 的相关文章

  • 如何更改 FacetGrid 中的边距标题颜色

    使用 Seaborn Facet Grids 如何仅更改边距标题的颜色 注意g set titles color red 更改两个标题 p sns load dataset penguins sns displot data p x fli
  • 从 Django 调用 Postgres SQL 存储过程

    我正在开发一个带有 Postgresql 数据库的 Django 项目 我编写了一个可以在 Postgres 上完美运行的存储过程 现在我想从 Django 1 5 调用该存储过程 我已经编写了代码 但它提示错误 CREATE FUNCTI
  • 如何覆盖 Django 的默认管理模板和布局

    我正在尝试覆盖 Django 的默认模板 现在只有base site html 我正在尝试更改 django 管理文本 我做了以下事情 我在我的应用程序目录中创建了一个文件夹 opt mydjangoapp templates admin
  • 从 SHAP 值中获取特征重要性

    我想要获得重要功能的数据框 通过下面的代码 我得到了 shap values 但我不确定这些值的含义是什么 在我的 df 中有 142 个特征和 67 个实验 但得到了一个带有 ca 的数组 2500 个值 explainer shap T
  • 检测到通过 ChromeDriver 启动的 Chrome 浏览器

    我正在尝试在 python 中使用 selenium chromedriver 来访问 www mouser co uk 网站 然而 从第一次拍摄开始 它就被检测为机器人 有人对此有解释吗 此后我使用的代码 options Options
  • Pandas dataframe:每批行的操作

    我有一个熊猫数据框df我想计算每批行的一些统计信息 例如 假设我有一个batch size 200000 对于每批batch sizerows 我想要一列的唯一值的数量ID我的数据框 我怎样才能做这样的事情呢 这是我想要的一个例子 prin
  • 字符串中的注释和注释中的字符串

    我正在尝试使用 Python 和 Regex 计算 C 代码中包含的注释中的字符数 但没有成功 我可以先删除字符串以删除字符串中的注释 但这也会删除注释中的字符串 结果会很糟糕 是否有机会通过使用正则表达式来询问不匹配注释中的字符串 反之亦
  • ImportError:运行 jupyter Notebook 时没有名为 IPython.paths 的模块?

    我通过以下方式安装了 jupyter usr local opt python bin python2 7 m pip install jupyter 这将安装 ipython 版本 4 1 2 但是 当我运行 jupyter Notebo
  • 将二维数组放入 Pandas 系列中

    我有一个 2D Numpy 数组 我想将其放入 pandas 系列 而不是 DataFrame 中 gt gt gt import pandas as pd gt gt gt import numpy as np gt gt gt a np
  • Python tkinter.filedialog Askfolder 干扰 clr

    我主要在 Spyder 中工作 构建需要弹出文件夹或文件浏览窗口的脚本 下面的代码在spyder中完美运行 在 Pycharm 中 askopenfilename工作良好 同时askdirectory什么都不做 卡住了 但是 如果在调试模式
  • 将 numpy 代码点数组与字符串相互转换

    我有一个很长的 unicode 字符串 alphabet range 0x0FFF mystr join chr random choice alphabet for in range 100 mystr re sub W mystr 我想
  • 编辑 Jupyter Notebook 时 VS Code 中缺少“在选择中查找”

    使用 Jupyter Notebook 时 VSCode 中缺少 在选择中查找 按钮 它会减慢开发速度 所以我想请问有人知道如何激活它吗 第一张图显示了在 python 文件中的搜索 替换 第二张图显示了笔记本电脑中缺少的按钮 Python
  • 对使用 importlib.util 导入的对象进行酸洗

    我在使用Python的pickle时遇到了一个问题 我需要通过将文件路径提供给 importlib util 来加载一些 Python 模块 如下所示 import importlib util spec importlib util sp
  • Werkzeug 中的线程和本地代理。用法

    首先 我想确保我正确理解了功能的分配 分配本地代理功能以通过线程内的模块 包 共享变量 对象 我对吗 其次 用法对我来说仍然不清楚 也许是因为我误解了作业 我用烧瓶 如果我有两个 或更多 模块 A B 我想将对象C从模块A导入到模块B 但我
  • 为什么我应该使用 WSGI?

    使用 mod python 一段时间了 我读了越来越多关于 WSGI 有多好的文章 但没有真正理解为什么 那么我为什么要切换到它呢 有什么好处 这很难吗 学习曲线值得吗 为了用 Python 开发复杂的 Web 应用程序 您可能会使用更全面
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t
  • 使用 pybtex 将 bibtex 转换为格式化的 HTML 参考书目,例如哈佛风格

    我正在使用 Django 并将 bibtex 存储在我的模型中 并且希望能够以格式化 HTML 字符串的形式向我的视图传递引用 使其看起来像哈佛引用样式 使用中描述的方法Pybtex 无法识别 bibtex 条目 https stackov
  • 在 Windows 上使用带有对数刻度的 matplotlib 时出现 Unicode 错误

    我正在使用 python 2 6 和 matplotlib 如果我运行 matplotlib 库页面中提供的示例 histogram demo py 它工作正常 我已经大大简化了这个脚本 import numpy as np import
  • 计算互相关函数?

    In R 我在用ccf or acf计算成对互相关函数 以便我可以找出哪个移位给我带来最大值 从它的外观来看 R给我一个标准化的值序列 Python 的 scipy 中是否有类似的东西 或者我应该使用fft模块 目前 我正在这样做 xcor
  • 使用Multiprocessing和Pool时如何访问全局变量?

    我试图避免将变量冗余地传递到dataList e g 1 globalDict 2 globalDict 3 globalDict 并在全球范围内使用它们 global globalDict然而 在下面的代码中并不是这样做的解决方案 是否有

随机推荐

  • Verilog实现异步FIFO(重难点)

    FIFO总概 图来自文章Simulation and Synthesis Techniques for Asynchronous FIFO Design 一个异步FIFO一共由五个基本模块组成 分别是 RAM存储器模块 FIFO写地址以及写
  • 分享一个基于springboot+vue的职业生涯规划系统源码

    作者 计算机源码社 个人简介 本人七年开发经验 擅长Java Python PHP NET 微信小程序 爬虫 大数据等 大家有这一块的问题可以一起交流 学习资料 程序开发 技术解答 文档报告 JavaWeb项目 微信小程序项目 Python
  • tp摄像头的默认地址_TP-Link路由器默认管理员密码是什么 路由器默认管理员密码介绍【详解】...

    TP Link路由器默认管理员密码是多少 最近有网友咨询了小编这样的问题 其实关于TP Link路由器的默认管理员密码是要根据路由器的型号而介绍的 因为有些型号的TP Link路由器是有默认管理员用户名和密码的 而有些型号是没有的 这对这个
  • Flutter 容器(5) - SizedBoxSizedBox

    SizedBox 两种用法 一是可用来设置两个widget之间的间距 二是可以用来限制子组件的大小 import package flutter material dart class AuthList extends StatelessW
  • squid 用户通过NCSA认证

    Squid的用户认证设置 默认时 Squid本身不带任何认证程序 但是可以通过外部认证程序来实现用户认证 一般有以下的认证程序 LDAP认证 SMB认证 基于mysql的认证 基于sock5的密码认证和基于Radius的认证 下面介绍常用的
  • STM32设置为I2C从机

    硬件平台 STM32F401 编辑器 keil 5 18 操作系统 win7 一 I2C协议 在传输数据的时候 SDA线必须在时钟的高电平周期保持稳定 SDA的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变 起始和停止条件 SC
  • JavaScript的三大组成

    文章目录 一 JavaScript三大组成 1 ECMAScript 2 DOM 3 BOM 总结 一 JavaScript三大组成 JavaScript的三个部分为 ECMAScript JavaScript语法规范 是JS的基础也是核心
  • SpringBoot打包jar包并后台运行

    最近又进步了 我一直习惯直接在Intellij Idea中直接运行写好的程序 不过也是因为仅仅是写个模拟接口而已 后来到新公司要负责java后台 开始习惯把项目部署到外部Tomcat去测试 或者打成war包让运维去linux上面部署 不过
  • 基于OpenCV的视频道路车道检测

    基于OpenCV的视频道路车道检测 基于OpenCV的视频道路车道检测 前言 综述 运行方法 车道检测的实现 路面图像二值化 基于透视变换提取车道区域 基于二次多项式拟合车道线 计算曲率半径与车辆的偏移距离 用车道区域标注原始图像 总结 E
  • 网站服务器评测,9.2分! 浪潮服务器受到海外权威专业评测网站肯定

    目前 浪潮服务器业务覆盖全球120个国家和地区 拥有8个全球研发中心 6个全球生产中心以及2个全球服务中心 海外权威服务器专业评测网站ServeTheHome 简称STH 曾对浪潮NE5260M5边缘服务器进行测评 该服务器斩获9 2的高分
  • threejs实现一个固定大小的3d标点

    需求背景 需要在3d模型上实现标注的功能 一开始是直接通过添加一个普通的mesh来实现的 但是这样就会有一个问题 当视图缩放的时候 标注也会跟着一起放大缩小 影响视觉效果 因此需要实现一个不会随着视图一起放大或者缩小的mesh 实现思路 明
  • MongoDB update数据语法

    mongodb更新有两个命令 1 update 命令 db collection update criteria objNew upsert multi criteria update的查询条件 类似sql update查询内where后面
  • Qt自定义窗口部件/控件(实现一个十六进制微调框SpinBox)

    目录 1 自定义Qt窗口部件 控件 2 十六进制微调框 SpinBox 2 1 实现思路 2 2 源码 3 使用方法 3 1 代码添加自定义窗口部件 控件 3 2 Qt设计师添加自定义窗口部件 控件 3 3 运行效果 4 缺点 1 自定义Q
  • tomcat线程池配置

    以Tomcat8为例 配置方式一
  • dependency-check-maven安全漏洞扫描工具介绍

    目录 dependency check maven安全漏洞扫描工具介绍 dependency check maven插件 重点参数解析 运行命令 检查单个maven工程安全漏洞 检查多个maven子工程汇总一个报告 命令行方式运行 扫描报告
  • 压缩感知(Compressed sensing)from wiki

    压缩感知 Compressed sensing 也被称为压缩采样 Compressive sampling 或稀疏采样 Sparse sampling 是一种寻找欠定线性系统的稀疏解的技术 压缩感知被应用于电子工程尤其是信号处理中 用于获取
  • Java继承和多态之接口

    Java继承和多态之接口 题目要求 仔细阅读右侧编辑区内给出的代码框架及注释 在 Begin End 中实现两个数的求和运算和比较 具体要求如下 编写程序 实现两个数的求和运算和比较 请在下面的Begin End之间按照注释中给出的提示编写
  • CVPR2021 视频目标检测——MM-DistillNet 基于多模态知识提取的自监督多目标检测与跟踪论文笔记/附原文和代码

    本文是CVPR2021最新的视频目标检测的论文 原文地址 https arxiv org abs 2103 01353v1 代码 https github com robot learning freiburg MM DistillNet
  • 028:vue上传解析excel文件,列表中输出内容

    第028个 查看专栏目录 VUE element UI 专栏目标 在vue和element UI联合技术栈的操控下 本专栏提供行之有效的源代码示例和信息点介绍 做到灵活运用 1 提供vue2的一些基本操作 安装 引用 模板使用 comput
  • python3 numpy详解

    基础操作 import numpy as np np创建数组 a np array 1 2 3 print a print type a a2 np array range 10 print a2 print type a2 numpy特有