numpy基础用法-学习笔记-task10

2023-05-16

大作业

本次练习使用 鸢尾属植物数据集 .\iris.data ,在这个数据集中,包括了三类不同的鸢尾属植物:Iris Setosa,Iris Versicolour,Iris Virginica。每类收集了50个样本,因此这个数据集一共包含了150个样本。
sepallength:萼片长度
sepalwidth:萼片宽度
petallength:花瓣长度
petalwidth:花瓣宽度
以上四个特征的单位都是厘米(cm)
  1. 导入鸢尾属植物数据集,保持文本不变。
    【知识点:输入和输出】
import numpy as np
outfile="E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
#skiprows跳过第一行表头
#delimiter:分割字符串,以逗号隔。
iris_data  = np.loadtxt(outfile, dtype=object, delimiter=' ', skiprows=1)
iris_data[0:10]
  1. 求出鸢尾属植物萼片长度的平均值、中位数和标准差(第1列,sepallength)
    【知识点:统计相关】
import numpy as np
outfile="E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
#skiprows跳过第一行表头
#delimiter:分割字符串,以逗号隔。
#usecols=1:只读第一列
iris_data  = np.loadtxt(outfile, dtype=float, delimiter=' ', skiprows=1,usecols=1)
print("均值:",np.mean(iris_data))
print("中位数:",np.median(iris_data))
print("方差:",np.std(iris_data))

  1. 创建一种标准化形式的鸢尾属植物萼片长度,其值正好介于0和1之间,这样最小值为0,最大值为1(第1列,sepallength)。
    【知识点:统计相关】
import numpy as np
outfile="E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data_sepallength  = np.loadtxt(outfile, dtype=float, 
                                    delimiter=' ', skiprows=1,usecols=1)
aMax = np.amax(iris_data_sepallength)
aMin = np.amin(iris_data_sepallength)
x = (iris_data_sepallength-aMin) / (aMax-aMin)
#x = (iris_data_sepallength ‐ aMin) / np.ptp(sepalLength)
print(x)
  1. 找到鸢尾属植物萼片长度的第5和第95百分位数(第1列,sepallength)。
    【知识点:统计相关】
import numpy as np
outfile="E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data_sepallength  = np.loadtxt(outfile, dtype=float, 
                                    delimiter=' ', skiprows=1,usecols=1)
x=np.percentile(iris_data_sepallength,[5,95])
print(x)#[4.6   7.255]
  1. 把iris_data数据集中的20个随机位置修改为np.nan值。
    【知识点:随机抽样】
import numpy as np
outfile="E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
np.random.seed(20201130)
iris_data  = np.loadtxt(outfile, dtype=object, delimiter=' ', skiprows=1)
x,y=iris_data.shape
iris_data[np.random.randint(x,size=20),np.random.randint(1,y,size=20)]=np.nan
print(iris_data)
  1. 在iris_data的sepallength中查找缺失值的个数和位置(第1列)。
    【知识点:逻辑函数、搜索】
import numpy as np
np.random.seed(20201130)
outfile="E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data_sepallength  = np.loadtxt(outfile, dtype=float, 
                                    delimiter=' ', skiprows=1,usecols=1)
iris_data_sepallength[np.random.randint(x,size=20)]=np.nan
print(iris_data_sepallength)
x=np.isnan(iris_data_sepallength)
print(sum(x))
print(np.where(x))
  1. 筛选具有 sepallength(第1列)< 5.0 并且 petallength(第3列)> 1.5 的 iris_data行。
    【知识点:搜索】
import numpy as np
outfile="E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data = np.loadtxt(outfile, dtype=float, delimiter=' ', skiprows=1,usecols=[1,3])
sepallength = iris_data[:,0]
petallength = iris_data[:,1]
index = np.where(np.logical_and(petallength > 1.5, sepallength < 5.0))
print(iris_data[index])
  1. 选择没有任何 nan 值的 iris_data行。
    【知识点:逻辑函数、搜索】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
np.random.seed(20201130)
iris_data = np.loadtxt(outfile, dtype=float, delimiter=' ', skiprows=1, usecols=[1,2,3])
i, j = iris_data.shape
iris_data[np.random.randint(i, size=20), np.random.randint(j, size=20)] = np.nan
x = iris_data[np.sum(np.isnan(iris_data), axis=1) == 0]
print(x)
  1. 计算 iris_data 中sepalLength(第1列)和petalLength(第3列)之间的相关系数。
    【知识点:统计相关】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
np.random.seed(20201130)
iris_data = np.loadtxt(outfile, dtype=float, delimiter=' ', 
                       skiprows=1, usecols=[1,3])
sepallength = iris_data[:,0]
petallength = iris_data[:,1]
z = np.corrcoef(sepallength, petallength)
print(z)
# [[1.         0.87175378]
#  [0.87175378 1.        ]]
  1. 找出iris_data是否有任何缺失值。
    【知识点:逻辑函数】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data = np.loadtxt(outfile, dtype=float, delimiter=' ',skiprows=1, usecols=[1,2,3])
x = np.isnan(iris_data)
print(np.any(x)) # False
  1. 在numpy数组中将所有出现的nan替换为0。
    【知识点:逻辑函数】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
np.random.seed(20201130)
iris_data = np.loadtxt(outfile, dtype=float, delimiter=' ', 
                       skiprows=1, usecols=[1,2,3])
i, j = iris_data.shape
iris_data[np.random.randint(i, size=20), np.random.randint(j, size=20)] = np.nan
iris_data[np.isnan(iris_data)]=0
print(iris_data)
  1. 找出鸢尾属植物物种中的唯一值和唯一值出现的数量。
    【知识点:数组操作】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
np.random.seed(20201130)
iris_data = np.loadtxt(outfile, dtype=object, delimiter=' ',skiprows=1, usecols=[5])
#该函数是去除数组中的重复数字,并进行排序之后输出。
x = np.unique(iris_data, return_counts=True)
print(x)
  1. 将 iris_data 的花瓣长度(第3列)以形成分类变量的形式显示。定义:Less than 3 -->‘small’;3-5 --> ‘medium’;’>=5 --> ‘large’。
    【知识点:统计相关】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
np.random.seed(20201130)
iris_data = np.loadtxt(outfile, dtype=float, delimiter=' ',skiprows=1, usecols=[3])
petal_length_bin = np.digitize(iris_data, [0, 3, 5, 10])#直方图
label_map = {1: 'small', 2: 'medium', 3: 'large', 4: np.nan}
petal_length_cat = [label_map[x] for x in petal_length_bin]
print(petal_length_cat[0:10])
# ['small', 'small', 'small', 'small', 'small', 'small', 'small', 'small', 'small','small']
  1. 在 iris_data 中创建一个新列,其中 volume 是 (pi x petallength x sepallength ^ 2)/ 3 。
    【知识点:数组操作】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data = np.loadtxt(outfile, dtype=object, delimiter=' ', skiprows=1)
sepalLength = iris_data[:, 1].astype(float)
petalLength = iris_data[:, 3].astype(float)
volume = (np.pi * petalLength * sepalLength ** 2) / 3
print(volume.shape)#(150,)
volume = volume[:, np.newaxis]#np.newaxis的作用是增加一个维度
print(volume.shape)#(150, 1)
iris_data = np.concatenate([iris_data, volume], axis=1)
print(iris_data[0:10])

  1. 随机抽鸢尾属植物的种类,使得Iris-setosa的数量是Iris-versicolor和Iris-virginica数量的两倍。
    【知识点:随机抽样】
import numpy as np
species = np.array(['setosa', 'versicolor', 'virginica'])
species_out = np.random.choice(species, 10000, p=[0.5, 0.25, 0.25])
print(np.unique(species_out, return_counts=True))
#(array(['setosa', 'versicolor', 'virginica'], dtype='<U10'), 
# array([4977, 2505, 2518], dtype=int64))

  1. 根据 sepallength 列对数据集进行排序。
    【知识点:排序】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data = np.loadtxt(outfile, dtype=object, delimiter=' ', skiprows=1)
sepalLength = iris_data[:, 1].astype(float)
# print(np.sort(sepalLength))
index = np.argsort(sepalLength)
print(iris_data[index])

  1. 在鸢尾属植物数据集中找到最常见的花瓣长度值(第3列)。
    【知识点:数组操作】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data = np.loadtxt(outfile, dtype=object, delimiter=' ', skiprows=1)
petalLength = iris_data[:, 3].astype(float)
vals, counts = np.unique(petalLength, return_counts=True)
print(vals[np.argmax(counts)]) # 1.5
print(np.amax(counts)) # 14

  1. 在鸢尾花数据集的 petalwidth(第4列)中查找第一次出现的值大于1.0的位置。
    【知识点:搜索】
import numpy as np
outfile = "E:/document/python学习笔记/numpy/Iris数据集/iris.txt"
iris_data = np.loadtxt(outfile, dtype=object, delimiter=' ', skiprows=1)
petalWidth = iris_data[:, 4].astype(float)
index = np.where(petalWidth > 1.0)
print(index)
print(index[0][0]) # 50
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

numpy基础用法-学习笔记-task10 的相关文章

  • css实现圆形div旋转,如“已预约”效果

    lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt lt title gt lt head gt lt style g
  • c++---类和对象(六大默认成员函数)

    类中默认的六个成员函数构造函数析构函数拷贝构造函数赋值操作符重载取地址和const取地址操作符重载const成员函数 1 类中默认的六个成员函数 首先看看下面代码 class A int main A a return 0 这个代码并没有报
  • 微服务系列--nacos注册中心与服务发现

    1 前言 终究还是到了更新关于微服务相关博客的时候了 xff0c 经过挺长一段时间微服务的自主学习 xff0c 现在不敢说自己熟悉微服务 xff0c 但我也能略知一二 微服务嘛 xff0c 其实入门之后便会发现 xff0c 其实关于微服务相
  • 微服务系列--Ribbon负载均衡

    1 前言 这篇文章接上一篇文章进行开发 xff0c 上一篇整合完了Nacos xff0c 这篇来整合Ribbon Ribbon不属于SpringCloud Alibaba的东西 xff0c 而是基于Netflix Ribbon实现的 可以让
  • Centos7安装Jenkins

    将Jenkins存储库添加到yum repos xff0c 并安装Jenkins sudo wget O etc yum repos d jenkins repo http pkg jenkins ci org redhat jenkins
  • Jenkins自动化部署SpringBoot项目

    首先需要安装所需的两个插件 xff0c Maven Integration plugin 和 Publish Over SSH 在 系统配置 xff0c 将服务器信息配置到jenkins xff0c 我用的是腾讯云服务器 xff0c 所以将
  • 优雅关闭SpringBoot项目-接口方式

    前言 一般在服务器重新部署SpringBoot项目 xff0c 无非就是用kill 9暴力停止进程 xff0c 但会造成很多数据问题 xff0c 如果遇到一些耗时或者正在处理交易类的业务时 xff0c 直接导致数据异常 xff0c 严重会导
  • Linux安装Jenkins

    前言 现在Jenkins的最新版本都需要基于JDK11以上才能够正常使用 xff0c 不然会出现各种插件安装不上的问题 又不想安装JDK11 xff0c 想继续用JDK8 xff0c 只能通过指定安装符合JDK8的Jenkins版本 PS
  • rosdep update出错解决办法(2021)

    ROS安装方法 xff1a ros安装后 xff0c 初始化时rosdep update出错解决办法 2021 06 30 初始化时rosdep update出错解决办法 2021年以前 xff0c 通过科学上网 手机开热点等方式 xff0
  • 0x0FA23729 (vcruntime140d.dll)处(位于 类和对象-封装.exe 中)引发的异常(已解决)

    运行程序的时候第42行 抛出异常 xff0c 但是我将该cpp文件放到别的解决方案下就不会出异常 include lt iostream gt include lt string gt using namespace std class P
  • Win10 摄像头:由于其配置信息(注册表中的)不完整或已损坏,Windows无法启动这个硬件设备.【未解决完全】

    问题描述 xff1a 刚刚重装完win10系统之后 xff0c 出现无法打开摄像头的问题 xff0c 解决方法 xff1a 通过修改注册表中得相关信息进行解决 首先打开设备管理器 xff0c 找到设备的类Guid记录下Guid 的值 如此处
  • 2021年总结与2022年展望

    一 工作和学习 通过调剂 xff0c 正式成为了一名研究生 xff0c 结束了自己两年的考研备考 xff0c 不知道是好还是坏 xff0c 看到周围朋友考的时候心里还是会有点失落感 在一家通信设备公司实习软件测试 xff0c 收获很多 xf
  • 计算机网络---网络基础(TCP/IP五层模型,数据的封装和分用)

    认识网络中常用的名词以及基本的概念熟悉OSI七层模型和TCP IP五层模型理解网络通信的数据传输流程 认识网络中常用的名词 ip地址 ip地址就是表示我们一台主机的因为数字不好记忆 xff0c 通常使用点分十进制表示IP xff0c 每条数
  • C语言简易TCP服务端程序

    C语言TCP服务端程序 文章目录 C语言TCP服务端程序项目介绍关键技术代码实现一请求一线程方式epoll方式实现多个客户端连接的TCP服务端程序epoll的水平触发和边缘触发 完整代码编译和启动使用NetAssist测试 项目介绍 本项目
  • C++使用gRPC实例

    什么是gRPC RPC 即远程过程调用协议 xff08 Remote Procedure Call Protocol xff09 xff0c 可以让我们像调用本地对象一样发起 远程调用 RPC 凭借其强大的治理功能 xff0c 成为解决分布
  • 复睿智行CC++开发实习面试

    线上面试 xff0c HR和一位技术的面试官 自我介绍 现在研究生学习的方向是什么 xff1f 我还去答区块链 xff0c 本来就半桶水 xff0c 还不如直接回答C C 43 43 后端这个方向 大数据分析这一块有做过吗 xff1f 我
  • 经纬恒润LinuxC++日常实习面经

    自我介绍 在学校成绩如何 xff0c 有没有获得奖学金 xff0c 考研的时间等等相关问题 能实习多久 xff0c 研究生研究的方向 你这个LinuxC 43 43 开发的学习是自学的吗 xff0c 怎样的自学途径 我 xff1a 看书 看
  • 集群聊天服务器项目(三)——负载均衡模块与跨服务器聊天

    负载均衡模块 为什么要加入负载均衡模块 原因是 xff1a 单台服务器并发量最多两三万 xff0c 不够大 负载均衡器 Nginx的用处或意义 xff08 面试题 xff09 把client请求按负载算法分发到具体业务服务器Chatserv
  • C++校招面试题

    C 43 43 static关键字的作用 xff08 从elf结构 链接的过程 xff09 答 xff1a static可以修饰全局变量 函数 局部变量 xff0c 这些符号在加了staitc后就只能在当前文件可见 xff0c 其他文件不可
  • make_shared知识点

    背景 普通创建shared ptr的方法如 xff1a shared ptr span class token operator lt span span class token keyword int span span class to

随机推荐

  • emplace方法原理剖析

    emplace back 和 push back 的差别 有一个类Test定义如下 span class token keyword class span span class token class name Test span span
  • 【 rbx1翻译 第七章、控制移动基座】第八节、使用里程计进行往返运动

    7 8 Out and Back Using Odometry 使用里程计进行往返运动 现在 xff0c 我们了解了里程表信息是如何在ROS中表示的 xff0c 我们可以更精确地在往返过程中移动机器人 下一个脚本将监视 odom和 base
  • 项目总结一:串口通信 || 串口接收数据和写入的数据不一致

    在做项目串口通信时遇到一个奇怪的bug xff0c 我写入的一个两个字节short类型数据3 xff0c 接受到的数据很奇怪有时是一个很大的数 xff0c 有时又是300多 xff0c 为了找到原因也是废了一些时间 xff0c 这里给分享一
  • linux---套接字编程

    一 Socket是什么 1 socket套接字 xff1a socket起源于Unix xff0c 而Unix Linux基本哲学之一就是 一切皆文件 xff0c 都可以用 打开open gt 读写write read gt 关闭close
  • ROS订阅者只订阅一次消息

    include lt ros ros h gt include lt opencv2 core core hpp gt include lt opencv2 imgproc imgproc hpp gt include lt opencv2
  • 【FPGA练习】(一): UART串口通信实验

    由于之前学习FPGA的过程中 xff0c 没有做一个良好的记录 xff0c 以及已学知识的扩展 xff0c 所以从今天开始每一个实验例程和扩展应用 xff0c 都要做文档记录 本实验 xff0c 是基于正点原子达芬奇xc7a35tfgg48
  • Ubuntu配置GStreamer实现python推流

    想用python实现一个推流服务 xff0c 下面记录一下配置过程 系统是ubuntu18 04 xff0c python3 6和3 8中都试过 1 安装gstreamer sudo apt get install libgstreamer
  • CMake 引用第三方库

    一 cmake简介 cmake 是gnu工具链中构建项目重要的一环 xff0c 而且在windows linux OS X中都可以使用 xff0c 特别是linux C C 43 43 程序员必备基本功 二 基本命令 xff1a 命名变量
  • C/C++:struct和class区别

    C和C 43 43 中的Struct区别 CC 43 43 不能将函数放在结构体声明能将函数放在结构体声明在C结构体声明中不能使用C 43 43 访问修饰符 public protected private 在C 43 43 中可以使用 在
  • 四旋翼无人机学习之准备篇(一)

    最近我哥要给我邮递个四旋翼无人机 xff0c 再加上本人对蓝天从小就很感兴趣 所以在学习完四驱小车后打算上手下无人机 刚开始学习根本不知道要看哪些 xff0c 在几天漫无头绪的学习 xff0c 终于有点气色了 xff0c 就把学习经验分享给
  • 更改Ubuntu默认python版本的方法

    可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用 1 2 ls usr bin python usr bin python usr bin python2 usr bin python2 7 us
  • c++求素数

    C 43 43 练习第一课 C 43 43 输入一个n 求n以内的素数 xff1a C 43 43 输入一个n 求n以内的素数 xff1a include span class token operator lt span iostream
  • 贪吃蛇

    C尝试写的贪吃蛇项目 xff08 数组实现 xff09 以后会更新用链表实现贪吃蛇 span class token macro property span class token directive keyword define span
  • Android公司面试题

    Android 面试题及面试经验 我的第一次面试经验 今天来到成都面试 xff0c 面试的是Android xff0c 说实话 xff0c Android并不是我的强项 xff0c 只是在大学期间接触过 第一关人事还可以 xff0c 第二关
  • linux---tcp通信流程以及代码实现

    TCP通信特性 xff1a xff08 在网络版块详细讲解 xff09 面向连接 可靠 面向字节流 TCP通信过程 c 43 43 封装TCP通信 1 include lt iostream gt 2 include lt arpa ine
  • 物联网学习及理解

    物联网学习及理解 xff08 来自一个物联网专业学生的心得 xff09 什么是物联网物联网能做什么一 物联网运用领域二 物联网发展趋势 物联网怎么实现一 局域网内的物联网二 广域网内的物联网 总结 在开始写这篇博客之前 xff0c 我不得不
  • vscode代码格式化快捷键

    Windows xff1a Shift 43 Alt 43 F Linux Ctrl 43 Shift 43 I MacOS Shift 43 Option 43 F
  • 多线程和网络编程(多线程)

    一 多线程 1 进程和线程 进程 xff1a 是正在运行的程序 是系统进行资源分配和调用的独立单位 每一个进程都有它自己的内存空间和系统资源 线程 xff1a 是进程中的单个顺序控制流 xff0c 是一条执行路径 单线程 xff1a 一个进
  • Java八种基本数据类型(图文详解)

    Java八种基本数据类型 Java八种数据类型Java八种数据类型的分类 xff08 图 xff09 基本数据类型分为三大类 数值型 字符型 布尔型 数值型整数类型 xff08 byte short int long xff09 浮点型 f
  • numpy基础用法-学习笔记-task10

    大作业 本次练习使用 鸢尾属植物数据集 iris data xff0c 在这个数据集中 xff0c 包括了三类不同的鸢尾属植物 xff1a Iris Setosa xff0c Iris Versicolour xff0c Iris Virg