鸢尾花数据集基本用法

article/2025/11/10 23:08:14

Iris鸢尾花数据集是一个经典的数据集。

包含3类共150条记录,每类各50项数据,每一条记录都有四个体征。

可以通过这四个特征来预测鸢尾花属于哪一个品种。

一.鸢尾花数据集

首先导入数据集,用pandas读入iris.csv数据集,读取后的数据集类型是dataframe

import pandas as pdiris = pd.read_csv("./data/iris.csv")

输出数据集的描述性信息

iris.info()

类型,下标范围,列数,各列的一些信息,列中数据的类型 

iris.head()

iris数据集中的各个列的描述性信息

iris.describe()

计数,均值,标准差,最小值,1/4,1/2,3/4 分位数,最大值

 

二.pd.read_csv()

pd.read_csv(filepath,header=0,names=None,sep=',',index_col,usecols)

1.filepath 可以是 绝对路径/相对路径 也可以使 url

如下面这个 http网址可以直接得到一个csv类型的文件,那么通过下面的这种读法就可以读取到这个网络上的文件

tmp = pd.read_csv("http://datasets.flowingdata.com/hot-dog-contest-winners.csv")

 sep,delimiter 都是设置分隔符的,csv文件默认的分隔符为 逗号 。

2.header 用于设置 表头 ,默认为 0 即 表中的第一行

iris1 = pd.read_csv("./data/iris.csv",sep=',',header=1)

3.names=[] 如果读取的数据集没有表头,就可以自己设置表头

iris1 = pd.read_csv("./data/iris.csv",sep=',',names=["one","two","three","four","five"])

 注意这样读取的话,如果本身存在表头,那么本身存在的表头就被当成了第一行数据

4.如果pd.read_csv() 时不进行 header,names的设置,那么一切按照默认,即读取时默认将数据集的第一行当做header表头。

只设置header=k,就将第k行当做表头开始读取数据,[0,k-1]行就没了

只设置names的取值,适用于没有表头的情况下,如果有表头那么表头会被当做第一行数据

同时设置names=[] ,header=0,适合原来有表头但现在需要对表头进行替换的情况

iris1 = pd.read_csv("./data/iris.csv",sep=',',names=["one","two","three","four","five"],header=0 )
iris1.head()

 

5.dataframe的下标默认是从 0 1 2 3 4 开始 顺序推的

如果想要将某一列作为下标 加  index_col 参数

6.如果我们只是需要数据集中的部分的列,可以只提取想要的部分

iris1 = pd.read_csv("./data/iris.csv",sep=',',usecols=["sepal_width_cm","petal_length_cm"])
iris1.head()

7.sep delimiter 分隔符的设置对 读取的影响

 8. python 打开文件 open()

默认情况下用的 utf-8 编码模式


http://chatgpt.dhexx.cn/article/u5mZBtoK.shtml

相关文章

鸢尾花(iris)数据集分析

原文链接:https://www.jianshu.com/p/52b86c774b0b Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度…

鸢尾花(iris)数据集

鸢尾花(iris)数据集 更新时间:2021-03-21 01:01:09标签:数据集 鸢尾花 说明 机器学习教程 正在计划编写中,欢迎大家加微信 sinbam 提供意见、建议、纠错、催更。 鸢【音:yuān】尾花(Iris&a…

数据分析——鸢尾花数据集

鸢尾花数据集 Iris 鸢尾花数据集内包含 3 类分别为山鸢尾(Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica),共 150 条记录,每类各 50 个数据,每…

机器学习--鸢尾花数据集实战

Iris数据集实战 本次主要围绕Iris数据集进行一个简单的数据分析, 另外在数据的可视化部分进行了重点介绍. 环境 win8, python3.7, jupyter notebook 目录 1. 项目背景 2. 数据概览 3. 特征工程 4. 构建模型 正文 1. 项目背景 鸢尾属(拉丁学名:Iris L.), …

sklearn基础篇(三)-- 鸢尾花(iris)数据集分析和分类

后面对Sklearn的学习主要以《Python机器学习基础教程》和《机器学习实战基于scikit-learn和tensorflow》,两本互为补充进行学习,下面是开篇的学习内容。 1 初识数据 iris数据集的中文名是安德森鸢尾花卉数据集,英文全称是Anderson’s Iris d…

机器学习——鸢尾花数据集

机器学习——鸢尾花数据集 数据集简介导入数据集可视化主成分分析 鸢尾花数据集即iris iris数据集文件: https://pan.baidu.com/s/1saL_4Q9PbFJluU4htAgFdQ .提取码:1234 数据集简介 数据集包含150个样本(数据集的行)数据集包含…

实验一:鸢尾花数据集分类

实验一:鸢尾花数据集分类 一、问题描述 利用机器学习算法构建模型,根据鸢尾花的花萼和花瓣大小,区分鸢尾花的品种。实现一个基础的三分类问题。 二、数据集分析 Iris 鸢尾花数据集内包含 3 种类别,分别为山鸢尾(Iris…

C++优化之使用emplace

在C开发过程中,我们经常会用STL的各种容器,比如vector,map,set等,这些容器极大的方便了我们的开发。在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back&#xff…

C++ emplace_back

概述 在C11中,在引入右值的升级后,调用push_back变的更为高效,原本需要调用构造函数构造这个临时对象,然后调用拷贝构造函数将这个临时对象放入容器中。在C11升级后,只需要调用构造函数,然后调用移动拷贝函…

list容器下的 emplace_front() splice() 函数

目录 emplace_front()splice()作者的坑时间复杂度注意点:疑惑处 emplace_front() emplace中文为安置,那么这个函数就是安置到什么什么前面。 void emplace_front(value_type val) ;时间复杂度:O(1) splice() splice译为粘接,作用…

C++优化之使用emplace、emplace_back

在C开发过程中,我们经常会用STL的各种容器,比如vector,map,set等。在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back,map的insert,set的insert。这些…

emplace_back深度剖析

一&#xff0c;emplace_back和push_back 1&#xff0c;直接插入对象&#xff1a;emplace_back和push_back无区别 ①当传递已经存在的对象时&#xff0c;是无区别的 #include <iostream> #include <vector>using namespace std;/* C11 STL 容器 push/inser…

push_back和emplace_back区别

在使用vector容器时&#xff0c;往容器里添加元素时&#xff0c;有push_back和emplace_back两种方法&#xff0c;一般用得最多得是push_back&#xff0c;下面看看这两种方法得区别&#xff1a; push_back源码&#xff0c;有重载得左值和右值&#xff0c;关于左值和右值可以查看…

C++11之emplace_back

在之前的学习中&#xff0c;了解到在STL中&#xff0c;进行插入元素的时候&#xff0c;有insert和push两种选择方式&#xff0c;而在有了右值引用和移动语义的时候&#xff0c;就提出了更高效的插入方法&#xff1a;emplace_back&#xff0c;下面来介绍一下C11新特性中的emplac…

C++的emplace

一、背景 在C开发过程中&#xff0c;我们经常会用STL的各种容器&#xff0c;比如vector&#xff0c;map&#xff0c;set等&#xff0c;这些容器极大的方便了我们的开发。在使用这些容器的过程中&#xff0c;我们会大量用到的操作就是插入操作&#xff0c;比如vector的push_bac…

C++ emplace_back用法介绍

C 11对容器的push_back, push_front, insert 增加了新的用法&#xff0c;与之对应的是emplace_back&#xff0c;emplace_front, emplace. 它们的作用是在操作容器时可以调用对应类型的构造数&#xff0c;例如下面的代码&#xff1a; #include <iostream> #include <v…

C++ STL中的 emplace

英文释义&#xff08;以前还真的很少用到这个单词&#xff0c;但是经常在键入empty()函数的时候冒出来&#xff09;&#xff1a; emplace 英 [ɪmpleɪs] 美 [ɪmpleɪs] v. 放列&#xff0c;安置&#xff0c;安放; 相对于insert、push、push_back系列先构造临时变量再复制…

stl之emplace函数的使用

c11新标准引入了三个新成员-------emplace_front,emplace和emplace_back,这些操作构造而不是拷贝元素&#xff0c;因此相比push_back等函数能更好地避免内存的拷贝与移动&#xff0c;使容器插入元素的性能得到进一步提升。这些操作分别对应push_front,insert和push_back&#x…

数字分解算法的优化

http://bbs.csdn.net/topics/90040267 以上是讨论的论坛 下面是一个算法&#xff1a; //数字为n&#xff0c;开始分解第k个数字void decompose(int n,int k){int i,j;//j用来表示数字是否分解完毕for(jn;j>1;j--){a[k]j;if(jn){for(int temp1;temp<k;temp)cout<<…

整数分解(java)

public class demo4 {public static void main(String[] args) {System.out.println("请输入一个数&#xff1a;");Scanner in new Scanner(System.in);int number in.nextInt();int result 0;do {int digit number % 10;result result * 10 digit;System.out.…