二、机器学习基础知识:Python数据处理基础

文章目录

  • 1、基本数据类型
    • 1.1 数字类型(Number)
    • 1.2 字符串类型(String)
    • 1.3 列表类型(List)
    • 1.4 元组类型(Tuple)
    • 1.5 字典类型(Dictionary)
    • 1.6 集合类型(Set)
  • 2、数据文件读写
    • 2.1 打开与关闭文件
    • 2.2 读取文件内容
    • 2.3 将数据写入文件

1、基本数据类型

在Python3的环境中,提供了6种基本的内置数据类型,包括数字类型(Number)、字符串类型(String)、列表类型(List)、元组类型(Tuple)、字典类型(Dictionary)以及集合类型(Set)。根据数据对象是否可变,又将它们划分为可变数据类型和不可变数据类型。
可变数据类型包括列表、字典和集合,它们在声明时会开辟一块内存空间,使用Python的内置方法对内存中的数据进行修改时,内存地址不发生变化。
不可变数据类型包括数字、字符串和元组,它们在声明时也会开辟一块内存空间,但不能改变这块内存内的数据,如果改变了变量的赋值,就会重新开辟一块内存空间。

1.1 数字类型(Number)

Python的数字类型包括int、float、bool和complex复数类型。当指定一个值时,就创建了一个数字类型的对象。
在这里插入图片描述

在上图实例中,使用id函数可以看到在变量a加1之后,内存地址已经发生了改变,说明a=a+1不是原有的int对象加1,而是重新创建了一个int对象,大小为a+1。
详细参考:Python程序设计基础:数值

1.2 字符串类型(String)

Python中的字符串用半角的单引号或双引号括起来,对于字符串内的特殊字符,使用反斜杠‘\’进行转义,若要获取字符串中的一部分,可以采用切片的方式,截取格式如下:

字符串变量[头下标:尾下标]

字符串的起始下标为0,正序或逆序读取均可。
字符串的赋值与访问:
在这里插入图片描述

详细参考:Python程序设计基础:字符串

1.3 列表类型(List)

列表使用方括号[]进行定义,数据项之间使用逗号分隔,数据项可以是数字、字符串或列表。
列表也是一种Python序列,其截取语法与字符串类似,格式如下:

列表变量[头下标:尾下标]

同样,列表的起始下标为0,正序或逆序读取均可。
列表的访问、修改与遍历:
在这里插入图片描述

详细参考:Python程序设计基础:列表与元组(一)

1.4 元组类型(Tuple)

元组写在小括号()中,元素之间使用逗号进行分割,元素可以具有不同的类型,它与列表相似,但是元组的元素不可修改。
元组的截取语法和字符串、列表类似,起始下标为0,正序或逆序读取均可。
元组的访问:
在这里插入图片描述

详细参考:Python程序设计基础:列表与元组(二)

1.5 字典类型(Dictionary)

字典是一种可变容器模型,可存储任意类型对象,使用大括号{}定义,格式如下:

字典名={:}

字典的键和值使用冒号分隔,每个键值对之间使用逗号分隔。键一般是唯一的,如果出现了重复,则后面的键值对会替换前面的键值对。值的数据及类型不限,可以是字符串、数字或元组。
字典的访问及修改:
在这里插入图片描述

详细参考:Python程序设计基础:字典与集合(一)

1.6 集合类型(Set)

集合是一列无序的、不重复的数据项组成,Python中的集合是可变类型。与数学中的集合概念相同,集合中每个元素都是唯一的。同时,集合不设置顺序,每次输出时元素的排序可能都不相同。
集合使用大括号表示,形式上和字典相同,但数据项不是成对的。
由于集合和字典一样都是使用大括号表示,因为在创建空集合时,必须使用set()函数进行创建。
集合的主要操作:
在这里插入图片描述

详细参考:Python程序设计基础:字典与集合(二)

2、数据文件读写

机器学习的本质是对数据进行处理,如果数据是少量的、临时的,可以使用上述数据类型变量进行存储,如果数据是大量的,则需要使用到数据文件。

2.1 打开与关闭文件

Python中打开文件的内置函数是open()函数,打开文件后会创建一个文件对象,对文件的访问都是通过这个文件对象进行,语法格式如下:

open(file_name[,access_mode][,buffering])

其中file_name为字符串类型,是要访问的文件名称;access_mode是文件的打开模式,如读取、写入或追加等,默认为r(只读模式),写数据通常使用的是w和a,表示改写和添加;buffering表示文件缓冲区的策略,当该值为0时,表示不使用缓冲区。
打开文件之后可以向文件中写入相关内容,使用write()方法,参数为要写入的字符串。
在文件操作结束后,需要关闭文件对象,释放缓存,需要使用文件对象的close()方法。
文件的打开、写入与关闭:

filename = '1.txt'
f=open(filename,'a') #打开1.txt文件并进行写操作
f.write("machine learning")
f.close

使用with语句可以调用f.close()方法就能自动关闭文件。

filename = '1.txt'
with open('1.txt','a') as f:f.write("machine learning")

2.2 读取文件内容

常见的读取文件方法主要有三种,包括read()、readline()、readlines()。
read():默认读取整个文件,若设置了参数字节数,则读取对应字节数,返回值为字符串。
readline():从当前位置开始,读取文件中的一行,返回值为字符串。
readlines():从当前位置开始,读取文件的所有行,返回值为列表,每行为列表的一项。
使用read()读取整个文件:
在这里插入图片描述

使用readline()逐行读取文件:
在这里插入图片描述

使用readlines()一次读取多行:
在这里插入图片描述

2.3 将数据写入文件

如果要将数据写入文件,打开方式需要选择w(写入)或者a(追加)模式,写入文件可以使用Python提供的write方法,其语法格式如下:

fileobject.write(byte)

其中byte为待写入文件的字符串或字节。
文件的写入与追加:

with open('1.txt','w') as f:f.write("machine learning.\n") #写入相关内容,清空原文件
filename = '1.txt'
with open('1.txt','a') as f:f.write("python learning.\n") #追加写入相关内容,不覆盖原数据

详细参考:Python程序设计基础:文件操作

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

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

相关文章

掌动智能:替代JMeter的压力测试工具有哪些

JMeter是一个广泛使用的开源压力测试工具,但在实际应用中,也有一些其他优秀的替代品可供选择。本文将介绍几个可替代JMeter的压力测试工具,它们在功能、性能和易用性方面都具有独特优势,可以满足不同压力测试需求的选择。 一、Gat…

lvgl不能显示图片,但可以显示按键?

AT32F403A, IAR, ST7735S, LVGL8.3。 一、现象: 本来想着用LVGL做一个摄像头的显示功能 切换动态。可是死活实现不了功能。 因为移植好LVGL后,首先测试了显示按键,功能正常,以为是一切正常。在模拟器上调试效果完成后&#xf…

Scala第十三章节

Scala第十三章节 1. 高阶函数介绍 2. 作为值的函数 3. 匿名函数 4. 柯里化 5. 闭包 6. 控制抽象 7. 案例: 计算器 scala总目录 文档资料下载

IDEA git操作技巧大全,持续更新中

作者简介 目录 1.创建新项目 2.推拉代码 3.状态标识 5.cherry pick 6.revert 7.squash 8.版本回退 9.合并冲突 1.创建新项目 首先我们在GitHub上创建一个新的项目,然后将这个空项目拉到本地,在本地搭建起一个maven项目的骨架再推上去&#xff0…

Python集成开发环境(IDE):WingPro for Mac

WingPro for Mac是一款Python集成开发环境(IDE)软件,它提供了一系列强大的工具和功能,帮助Python开发人员提高开发效率和质量。 WingPro for Mac拥有直观的用户界面和强大的调试器,可以帮助用户快速定位问题和修复错误…

12链表-双指针

目录 LeetCode之路——21. 合并两个有序链表 分析: LeetCode之路——19. 删除链表的倒数第 N 个结点 分析: LeetCode之路——21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的…

宝塔反代openai官方API接口详细教程,502 Bad Gateway问题解决

一、前言 宝塔反代openai官方API接口详细教程,实现国内使用ChatGPT502 Bad Gateway问题解决, 此方法最简单快捷,没有复杂步骤,不容易出错,即最简单,零代码、零部署的方法。 二、实现前提 一台海外VPS服务…

网络安全——自学(黑客)方法

如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…

云原生之使用Docker部署RSS阅读器Huntly

云原生之使用Docker部署RSS阅读器Huntly 一、Huntly介绍1.1 Huntly简介1.2 Huntly功能 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Huntly镜像五、部署Huntly5.1 创建挂…

Qt自定义菜单

Qt开发过程中,弹出菜单时我们一般使用QMenu,但是QMenu都是一条项固定的格式,如查想要自己的设计界面就没法使用默认的Action项了,因此我们得用自定义的QMenu。 本篇介绍使用自定义的QMenu设计出UI。我们使用QWidget QWidgetAction来实现。Q…

此芯科技加入百度飞桨硬件生态共创计划,加速端侧AI生态布局

近日,此芯科技(上海)有限公司(以下简称“此芯科技”)与百度签署硬件生态共创计划合作协议,正式加入由百度发起的硬件生态共创计划。双方将共同推动端侧AI和大模型在个人计算、车载计算以及元宇宙计算等领域…

拒绝水文!八大排序(二)【适合初学者】冒泡排序和选择排序

文章目录 冒泡排序选择排序 大家好,我是纪宁。 这篇文章介绍八大排序中思路最简单,但效率也是最低的两种排序算法! 冒泡排序 冒泡排序,可以说是每个人在接触编程时最先学会的一种排序。 冒泡排序基本思想 冒泡排序(…

Rust 围炉札记

文章目录 一、安装二、文档 一、安装 rust 安装 卸载(自定义路径) Rust配置镜像源 Rust in Visual Studio Code Rust 官网 Rust 中文网 windows系统下Rust环境搭建以及vscode调试环境配置 二、文档 Rust 菜鸟教程 Rust 官方文档中文教程 Rust 包管理…

Docker从认识到实践再到底层原理(七)|Docker存储卷

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

【1++的Linux】之进程(五)

👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 文章目录 一,什么是进程替换二,替换函数三,实现我们自己的shell 一,什么是进程替换 我们创建出来进程是要其做事情的,它可…

【爬虫】用wget命令爬虫的简易教程

文章目录 1. 获取登录的请求2. 用postman模拟登录请求3. 用wget模拟登录请求并保存cookie4. 开始爬取网站5. 查看爬取结果6. 网站爬虫简易教程 爬取需要登录的网站的资源 背景:对于一些网站需要使用用户名和密码登录并且使用了https,我们如果不通过凭证将…

网络工程师对口的岗位是什么

大家好,我是网络工程师成长日记实验室的郑老师,您现在正在查看的是网络工程师成长日记专栏,记录网络工程师日常生活的点点滴滴 网络工程师可以从事哪些职位呢?其实网络工程师最对应的最对口的这个岗位就是高级网络工程师、系统集成…

番外6:下载+安装+配置Linux

#########配置Linux---后续 step08: 点击编辑虚拟机设置,选择下载好的映像文件.iso进行挂载; step09: 点击编辑虚拟机选项,选择UEFI启动模式并点击确定; step10: 点击开启虚拟机,选择Install rhel ; 备注&…

飞桨EasyDL-Mac本地部署离线SDK-Linux集成Python

前言:本文对使用飞桨EasyDL桌面版实现本地部署物体检测做一下说明 一、训练模型 如何使用飞桨EasyDL桌面版这里就不再赘述,直接参照官方文档进行物体检测模型训练。 飞桨EasyDL桌面版-用零代码开发实现物体检测https://ai.baidu.com/ai-doc/EASYDL/Tl2…

探索社会工程的深度:从定义到高级攻击策略

在广阔的网络安全领域,社会工程作为一种微妙的威胁而出现,它利用人类的漏洞来访问敏感信息或实施欺诈。网络安全背景下的社会工程的定义很明确:它包括使用欺骗手段操纵个人泄露机密或个人信息,然后将这些信息用于欺诈目的。 此类…