Python机器学习基础(一)---数据集加载的方法

news2025/2/23 7:06:46

几个数据集加载的方式

鸢尾花练习资源(这个资源有瑕疵,index列和Species 都是带”“的字符串 导致一些加载现实问题,从而验证 还是pandas最好用)

"index","Sepal.Length","Sepal.Width","Petal.Length","Petal.Width","Species"
"1",5.1,3.5,1.4,0.2,"setosa"
"2",4.9,3,1.4,0.2,"setosa"
"3",4.7,3.2,1.3,0.2,"setosa"
"4",4.6,3.1,1.5,0.2,"setosa"
"5",5,3.6,1.4,0.2,"setosa"
"6",5.4,3.9,1.7,0.4,"setosa"
"7",4.6,3.4,1.4,0.3,"setosa"
"8",5,3.4,1.5,0.2,"setosa"
"9",4.4,2.9,1.4,0.2,"setosa"
"10",4.9,3.1,1.5,0.1,"setosa"

下载链接(鸢尾花)

https://download.csdn.net/download/qq_27437073/88475286?spm=1001.2014.3001.5503icon-default.png?t=N7T8https://download.csdn.net/download/qq_27437073/88475286?spm=1001.2014.3001.5503

1.CVS加载数据集

代码:

import csv
import numpy as np

path = r"D:\DevelopWorkSpace\vsCodeWorkSpaces\加载数据集示例\iris.csv"
with open(path,'r') as f:
    reader = csv.reader(f,delimiter = ',')
    headers = next(reader)
    data = list(reader)
    data = np.array(data)
    print(headers)
    print(data[0:30])

输出结果:

['index', 'Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width', 'Species']
[['1' '5.1' '3.5' '1.4' '0.2' 'setosa']
 ['2' '4.9' '3' '1.4' '0.2' 'setosa']  
 ['3' '4.7' '3.2' '1.3' '0.2' 'setosa']
 ['4' '4.6' '3.1' '1.5' '0.2' 'setosa']
 ['5' '5' '3.6' '1.4' '0.2' 'setosa']]

       

代码解释:

path = r"D:\DevelopWorkSpace\vsCodeWorkSpaces\加载数据集示例\iris.csv"

(1)r  保持url原样输出

(2)reader = csv.reader(f,delimiter = ',')
          delimiter = ',' 设置数据集间隔符号

(3)next(reader) 获得下一行内容

2.numpy加载数据集

代码:

from numpy import loadtxt

def add_two(x):
   
    transText=str(x,encoding='utf-8')
    if transText == '"setosa"':
        return 1.0
    elif transText=='"versicolor"':
        return 2.0
    elif transText=='"virginica"':
        return 3.0
path = r"D:\DevelopWorkSpace\vsCodeWorkSpaces\加载数据集示例\iris.csv"
datapath= open(path, 'r')
data = loadtxt(datapath, delimiter=",",skiprows=1,usecols = (1,2,3,4,5),converters={5:add_two})
print(data.shape)
print(data[:3])    

输出结果:

(150, 5)
[[5.1 3.5 1.4 0.2 1. ]
 [4.9 3.  1.4 0.2 1. ]
 [4.7 3.2 1.3 0.2 1. ]]

代码解释:

loadtxt(datapath, delimiter=",",skiprows=1,usecols = (1,2,3,4,5),converters={5:add_two})

(1)skiprows 省略第一行

(2)usecols = (1,2,3,4,5)  显示1,2,3,4,5列

(3)converters={5:add_two})  第五列内容使用 add_two方法进行转换

3.pandas加载数据集

代码:

from pandas import read_csv
from pandas import set_option
path=r"D:\DevelopWorkSpace\vsCodeWorkSpaces\加载数据集示例\iris.csv"
data = read_csv(path)

#(150, 6)数据大小 150行6列
print(data.shape)

#显示前0-10行
print(data[:10])

#显示前50行
#print(data.head(50))

#显示每列数据类型
print(data.dtypes)
#set_option参数一览
# pd.set_option('display.max_rows',xxx) # 最大行数
# pd.set_option('display.min_rows',xxx) # 最小显示行数
# pd.set_option('display.max_columns',xxx) # 最大显示列数
# pd.set_option ('display.max_colwidth',xxx) #最大列字符数
# pd.set_option( 'display.precision',2) # 浮点型精度
# pd.set_option('display.float_format','{:,}'.format) #逗号分隔数字
# pd.set_option('display.float_format',  '{:,.2f}'.format) #设置浮点精度
# pd.set_option('display.float_format', '{:.2f}%'.format) #百分号格式化
# pd.set_option('plotting.backend', 'altair') # 更改后端绘图方式
# pd.set_option('display.max_info_columns', 200) # info输出最大列数
# pd.set_option('display.max_info_rows', 5) # info计数null时的阈值
# pd.describe_option() #展示所有设置和描述
# pd.reset_option('all') #重置所有设置选项
set_option('display.max_colwidth', 100)
set_option('precision', 2)
#统计数据
# 总数
# 平均值
# 标准偏差
# 最低价值
# 最大值
# 25%
# 中位数,即50%
# 75%
print(data.describe())

#查看类分布情况
# Petal.Length  属性名称
# 1.0     1     值   出现次数
# 1.1     1
count_class = data.groupby('Petal.Length').size()
#count_class2 = data.groupby('Petal.Length')
print(count_class)

#属性之间的关联性
# 系数值= 1 -它表示变量之间的完全正相关。
# 系数值= -1 -它表示变量之间完全负的相关性。
# 系数值= 0 -它表示变量之间完全没有相关性。
correlations = data.corr(method='pearson')
print(correlations)

输出结果:

(150, 6)
   index  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width Species
0      1           5.1          3.5           1.4          0.2  setosa
1      2           4.9          3.0           1.4          0.2  setosa
2      3           4.7          3.2           1.3          0.2  setosa
3      4           4.6          3.1           1.5          0.2  setosa
4      5           5.0          3.6           1.4          0.2  setosa
5      6           5.4          3.9           1.7          0.4  setosa
6      7           4.6          3.4           1.4          0.3  setosa
7      8           5.0          3.4           1.5          0.2  setosa
8      9           4.4          2.9           1.4          0.2  setosa
9     10           4.9          3.1           1.5          0.1  setosa
index             int64
Sepal.Length    float64
Sepal.Width     float64
Petal.Length    float64
Petal.Width     float64
Species          object
dtype: object
        index  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
count  150.00        150.00       150.00        150.00       150.00
mean    75.50          5.84         3.06          3.76         1.20
std     43.45          0.83         0.44          1.77         0.76
min      1.00          4.30         2.00          1.00         0.10
25%     38.25          5.10         2.80          1.60         0.30
50%     75.50          5.80         3.00          4.35         1.30
75%    112.75          6.40         3.30          5.10         1.80
max    150.00          7.90         4.40          6.90         2.50
Petal.Length
1.0     1
1.1     1
1.2     2
1.3     7
1.4    13
1.5    13
1.6     7
1.7     4
1.9     2
3.0     1
3.3     2
3.5     2
3.6     1
3.7     1
3.8     1
3.9     3
4.0     5
4.1     3
4.2     4
4.3     2
4.4     4
4.5     8
4.6     3
4.7     5
4.8     4
4.9     5
5.0     4
5.1     8
5.2     2
5.3     2
5.4     2
5.5     3
5.6     6
5.7     3
5.8     3
5.9     2
6.0     2
6.1     3
6.3     1
6.4     1
6.6     1
6.7     2
6.9     1
dtype: int64
              index  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
index          1.00          0.72        -0.40          0.88         0.90
Sepal.Length   0.72          1.00        -0.12          0.87         0.82
Sepal.Width   -0.40         -0.12         1.00         -0.43        -0.37
Petal.Length   0.88          0.87        -0.43          1.00         0.96
Petal.Width    0.90          0.82        -0.37          0.96         1.00

代码解释:

看代码中注释

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1142451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

echarts中横向柱状图的数字在条纹上方

实现效果: 数字在条纹的上方 实现方法:这些数字是用新添加一个坐标轴来实现的 直接添加坐标轴数字显示是在条纹的正右边 所以需要配置一下偏移 完整代码 var option {grid: {left: "3%",right: "4%",bottom: "3%",cont…

FreeROTS 任务通知和实操 详解

目录 什么是任务通知? 任务通知值的更新方式 任务通知的优势和劣势 任务通知的优势 任务通知的劣势 任务通知相关 API 函数 1. 发送通知 2. 等待通知 任务通知实操 1. 模拟二值信号量 2. 模拟计数型信号量 3. 模拟事件标志组 4. 模拟消息邮箱 什么是任务…

高防CDN:网络攻防的坚强防线

在当今数字化时代,网络攻击已经成为一种常态,对企业和个人的网络资产构成了严重威胁。为了应对这些风险,高防CDN(Content Delivery Network)已经崭露头角,它不仅提供内容分发,还整合了强大的网络…

电脑上使用的备忘记事软件哪一款好用点?

生活中充斥着大大小小的任务,如工作方面、学习方面、生活方面等,多种事务掺杂交错在一起非常容易忘记,为避免忘记重要的事情,大家可以借助电脑上好用的备忘录工具来进行记事。 支持在电脑上使用的备忘录软件是比较多的&#xff0…

论文阅读 - Learning Human Interactions with the Influence Model

NIPS01 早期模型 要求知识背景: 似然函数,极大似然估计、HMM、期望最大化 目录 1 Introduction 2 The Facilitator Room 3 T h e I n f l u e n c e M o d e l 3 . 1 ( R e ) i n t r o d u c i n g t h e I n f l u e n c e M o d e l 3 . 2 L e…

SpringCloud Alibaba【三】Gateway

Gateway配置与使用 前言新建gateway子项目pom.xml配置文件启动类访问接口方式 测试拓展 前言 在工作中遇到一种情况,一个父项目中有两个子项目。实际使用时,需要外网可以访问,宝信软件只能将一个端口号发布在外网上,所以需要运用…

多线程---线程安全问题及解决

文章目录 一个线程不安全的案例造成线程不安全的原因抢占式执行多个线程修改同一个变量修改操作不是原子的内存可见性问题指令重排序问题 如何让线程变得安全?加锁volatile 一个线程不安全的案例 题目:有较短时间让变量count从0加到10_0000 解决方案&a…

【AD9361 数字接口CMOS LVDS】A CMOS

〇、综述 本章介绍并行数据端口和串行外设接口(SPI),用于在AD9361和BBP之间传输数据和控制/状态信息。 下图显示了这些接口,并提供了AD9361和BBP在宽带无线系统中的使用方式的高级视图。数据接口工作在两种模式之一:标…

LeetCode题:70爬楼梯,126斐波那契数

目录 70:爬楼梯 题目要求: 解题思路:(类似斐波那契数) 递归解法: 非递归解法: 126:斐波那契数 题目要求: 解题思路: 递归解法: 非递归解…

汇总区间(Java)

大家好我是苏麟 , 这篇文章也是凑数的 ... 描述 : 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 n…

Redis(02)| 数据结构-SDS

一、键值对数据库是怎么实现的? 在开始讲数据结构之前,先给介绍下 Redis 是怎样实现键值对(key-value)数据库的。 Redis 的键值对中的 key 就是字符串对象,而 value 可以是字符串对象,也可以是集合数据类型…

vue3 + Element-plus + Echarts 5.2 切换不更新、导出PDF不显示 解决方案

vue3 Element-plus Echarts 5.2 切换不更新、导出PDF不显示 解决方案 1、使用 el-tabs 切换导致 Echarts 不显示问题2、折线图 Echarts 不更新问题3、异常抛出: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘type‘)4、Echa…

OpenHarmony docker环境搭建所见的问题和解决

【摘要】OpenHarmony docker环境搭建需要一台安装Ubuntu的虚拟机,并且虚拟机中需要有VScode。 整个搭建流程请参考这篇博客:OpenHarmony docker环境搭建-云社区-华为云 (huaweicloud.com) 上篇博主是用Ubuntu的服务器进行环境搭建的,在使用VS…

基于单片机的智能清洁小车设计—控制系统设计

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、研究的主要内容和目标二、总体方案设计2.1智能清洁小车的硬件系统组成2.2智能清洁小车的硬件结构图 三、 小车结构设计5.1基本布局和功能分析5.2小车二维及三维图小车三维图: 四、 原理图程序 五、…

2.OsgEarth封装

环境:Osg3.6.5 OsgEarth3.2 Qt5.15.2 基于qt将osgEarth封装,在Qt中作为GLWidget进行呈现。 1.Earth类的封装 基于地球的初始化顺序进行了封装,并暴露出了一些必要的属性,类似viwer、map、mapNode等。最为重要的是…

Fourier分析导论——第1章——Fourier分析的起源(E.M. Stein R. Shakarchi)

第 1 章 Fourier分析的起源 (The Genesis of Fourier Analysis) Regarding the researches of dAlembert and Euler could one not add that if they knew this expansion, they made but a very imperfect use of it. They were both persuaded that an arbitrary and d…

基于单片机的空气质量检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、主要内容二、系统方案设计2.1 系统方案设计2.2 主控制器模块选择 三、 系统软件设计4.1 程序结构分析4.2系统程序…

汇编学习(1)

汇编、CPU架构、指令集、硬编码之间的关系 ● 汇编语言:这是一种低级语言,用于与硬件直接交互。它是由人类可读的机器码或指令组成的,这些指令告诉CPU如何执行特定的任务。每条汇编指令都有一个对应的机器码指令,CPU可以理解和执…

25 行为型模式-备忘录模式

1 备忘录模式介绍 备忘录模式(memento pattern)定义: 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态. 2 备忘录模式原理 3 备忘录模式实现 /*** 发起人角色**/ public class Originator {private Strin…

城中村智能电表改造解决方案

随着我国城市化进程的加快,城中村作为城市发展的矛盾焦点,其居住环境、管理水平等问题日益凸显。城中村用电管理存在着用电安全隐患、电费核算不准确、偷电现象屡禁不止等问题。为了提高城中村用电管理水平,确保用电安全,推进智能…