政安晨:快速学会~机器学习的Pandas数据技能(一)(建立与读数据)

news2024/11/15 16:55:25

阅读数据是您处理数据的第一步,而数据是人工智能时代里机器学习的生产资料。

概述

        在这个系列中,您将学习关于pandas的所有内容,它是最受欢迎的用于数据分析的Python库。 在学习过程中,你将完成几个实际数据的实践练习。建议您在阅读相应的文章时进行练习。当然,作者政安晨也会把演绎的图片贴出来,您也可以当作是您已经做过了。

Pandas具体是什么我这里就不多说了,直接干货。

开始

开始Pandas,您需要一个能工作的环境,如果您还没有准备好,参考我的这篇文章:

政安晨:机器学习快速入门(一){基于Python与Pandas}icon-default.png?t=N7T8https://blog.csdn.net/snowdenkeke/article/details/136046028

要使用pandas,通常你会从下面这行代码开始。

import pandas as pd

咱们启动一个Jupyter,并导入pandas库:

建立数据

在pandas中有两个核心对象:DataFrame 和 Series

DataFrame

一个DataFrame是一个表格。它包含了一系列的个别条目,每个条目都有一个特定的值。每个条目对应一行(或记录)和一列。

例如,考虑以下简单的DataFrame:

pd.DataFrame({'Yes': [50, 21], 'No': [131, 2]})

政安晨用Jupyter执行如下:

在这个例子中,

"0, No"的条目的值为131,"0, Yes"的条目的值为50,等等,DataFrame的条目不限于整数。

例如,这是一个值为字符串的DataFrame:

我们使用pd.DataFrame()构造函数生成这些DataFrame对象。声明一个新的DataFrame的语法是一个字典,其键是列名(在这个例子中是Bob和Sue),值是一个条目的列表。这是构建新的DataFrame的标准方式,也是您最有可能遇到的方式。

字典列表构造函数为列标签分配值,但对于行标签,它只使用从0开始的递增计数(0、1、2、3……)。有时这是可以接受的,但通常我们会希望自己指定这些标签。

在DataFrame中使用的行标签列表被称为索引。我们可以通过在构造函数中使用index参数来为其赋值。

pd.DataFrame({'Bob': ['I liked it.', 'It was awful.'], 
              'Sue': ['Pretty good.', 'Bland.']},
             index=['Product A', 'Product B'])

Series

与之相比,Series是一系列的数据值。如果DataFrame是一张表格,那么Series就是一个列表。实际上,你可以仅仅用一个列表来创建一个Series。

pd.Series([1, 2, 3, 4, 5])

序列本质上是DataFrame的单列。因此,可以使用索引参数将行标签分配给序列,方式与之前相同。然而,序列没有列名,只有一个总体名称:

pd.Series([30, 35, 40], index=['2015 Sales', '2016 Sales', '2017 Sales'], name='Product A')

Series和DataFrame是密切相关的。把DataFrame想象成一堆"粘在一起的"Series会有助于我们理解。

读取数据文件

能够手动创建DataFrame或Series是非常方便的。但是,大多数情况下,我们实际上不会手动创建自己的数据,而是与已经存在的数据一起进行操作。

数据可以以多种不同的形式和格式存储。其中最基本的是简单的CSV文件。当你打开一个CSV文件时,你会看到类似下面的内容:

Product A,Product B,Product C,
30,21,9,
35,34,1,
41,11,11

CSV文件是由逗号分隔的值组成的表格。因此得名为“逗号分隔值”或CSV。

现在,让我们暂时将玩具数据集放在一边,看看在将真实数据集读入到DataFrame时它是什么样子的。我们将使用pd.read_csv()函数将数据读入到DataFrame中。用法如下:

这里,咱们还是使用文章头部的csv数据集,大家下载解压使用,并把解压后的文件拷贝到您的虚拟环境目录中使用

wine_reviews = pd.read_csv("./melb_data.csv")

我们可以使用shape属性来检查生成的DataFrame有多大。

wine_reviews.shape

老晨执行如下:

所以我们的新DataFrame有13580个记录,分布在21个不同的列中。总共有27万多个条目!

我们可以使用head()命令来检查结果DataFrame的内容,该命令会抓取前五行:

wine_reviews.head()

pd.read_csv()函数功能强大,有30多个可选参数可以指定。例如,您可以在此数据集中看到CSV文件具有内置索引,但pandas没有自动识别出来。为了让pandas使用该列作为索引(而不是从头开始创建一个新的索引),我们可以指定index_col参数。

# 我指定了从第5列开始
wine_reviews = pd.read_csv("./melb_data.csv", index_col=5)
wine_reviews.head()

大家可以看到,输出就忽略了0-4列。

告一段落

其实在这篇文章中,大家去好好了解一下张量的概念,这是一个非常有意思的表述,数字世界中的任何数据都可以表达成张量。

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

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

相关文章

学习Android的第七天

目录 Android EditText 输入框 设置默认提示文本 范例 获得焦点后全选组件内所有文本内容 范例 限制EditText输入类型 android:inputType 值列表 范例 设置最小行,最多行,单行,多行,自动换行 范例 设置文字间隔 范例 …

JMeter测试工具(进阶篇)

逻辑控制器和关联 通过参数化可以实现单个接口的功能测试,而接口测试过程中,除了单个接口的功能测试之外,还会测试接口业务实现,所谓业务,就是一套的完整的业务逻辑或流程,这就是要必须要使用到的逻辑控制…

基于YOLOv8的暗光低光环境下(ExDark数据集)检测,加入多种优化方式---自研CPMS注意力,效果优于CBAM ,助力自动驾驶(二)

💡💡💡本文主要内容:详细介绍了暗光低光数据集检测整个过程,从数据集到训练模型到结果可视化分析,以及如何优化提升检测性能。 💡💡💡加入 自研CPMS注意力 mAP0.5由原始的0.682提升…

08-Java过滤器模式 ( Filter Pattern )

Java过滤器模式 实现范例 过滤器模式(Filter Pattern)或允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来 过滤器模式(Filter Pattern) 又称 标准模式(Criteria Pattern…

【51单片机】实现一个动静态数码管显示项目(超全详解&代码&图示)(5)

前言 大家好吖,欢迎来到 YY 滴单片机 系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY…

幻兽帕鲁服务器搭建最简单新手教程,10秒钟自动部署,一键开服(腾讯云)

以下教程是基于腾讯云轻量应用服务器搭建的,非常简单,无论搭建幻兽帕鲁还是其他的游戏或者应用,都能以非常快的速度部署好。而且稳定流畅,功能丰富。 下面就来一起看看如何搭建吧。 幻兽帕鲁腾讯云服务器购买与一键部署教程&…

如何实现Vuex本地存储

在前端开发中,Vuex是一款非常强大的状态管理工具,但是默认情况下,Vuex的数据是存储在内存中的,刷新页面后数据将会丢失。这往往会导致用户在刷新页面后需要重新登录等繁琐的操作。本篇文章将教会您如何实现Vuex的本地存储&#xf…

python-可视化篇-pyecharts库-气候堆叠图

准备 代码 # codingutf-8 # 代码文件:code/chapter10/10.3.py # 3D柱状图import randomfrom pyecharts import options as opts from pyecharts.charts import Bar3D# 生成测试数据 data [[x, y, random.randint(10, 40)] for y in range(7) for x in range(24)]…

寒假提升(5)[利用位操作符的算法题]

日子是一天天地走,书要一页页地读。 ——毕淑敏 算法 位操作符的合理使用来解决问题1、题目大概2、理解和想办法解决3、结果 位操作符的合理使用来解决问题 1、题目大概 题目要求让我们把一个数字用二进制表示出来的时候,将他的奇数位置和偶数位置交换…

C# 实现微信自定义分享

目录 需求与调整 代码实现 获取令牌 生成合法票据 获取有效签名 客户端准备 客户端实现 小结 需求与调整 在微信中打开网页应用后,可以选择将地址发送给朋友进行分享,如下图: 在实际的应用中,我们可能不是简单的将该网页…

利用Intersection Observer实现图片懒加载性能优化

ntersection Observer是浏览器所提供的一个 Javascript API,用于异步的检测目标元素以及祖先或者是顶级的文档视窗的交叉状态 这句话的意思就是: 我们可以看的图片当中,绿色的 target element(目标元素),…

Stable Diffusion 模型下载:Disney Pixar Cartoon Type B(迪士尼皮克斯动画片B类)

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 这是我之前的模型迪士尼皮克斯卡通类型A与我自己训练的Lora在中途旅程图像上的合并结果。与之前的版本相比,男性和老年人看起来更像真正的皮克斯角色&a…

【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏2(附项目源码)

最终效果 文章目录 最终效果系列目录前言添加捕食者动画控制源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第24篇中,我们将探索如何用unity制作一个3D动物AI生态系统游戏…

内网渗透靶场02----Weblogic反序列化+域渗透

网络拓扑: 攻击机: Kali: 192.168.111.129 Win10: 192.168.111.128 靶场基本配置:web服务器双网卡机器: 192.168.111.80(模拟外网)10.10.10.80(模拟内网)域成员机器 WIN7PC192.168.…

AI嵌入式K210项目(26)-二维码识别

文章目录 前言一、什么是二维码?二、实验准备三、实验过程四、API接口总结 前言 本章介绍基于机器视觉实现二维码识别,主要包含两个过程,首先检测图像中是否有二维码,如果有则框出并打印二维码信息; 一、什么是二维码…

吉他学习:右手拨弦方法,右手拨弦训练 左手按弦方法

第六课 右手拨弦方法https://m.lizhiweike.com/lecture2/29362775 第七课 右手拨弦训练https://m.lizhiweike.com/lecture2/29362708

Redis——缓存设计与优化

讲解Redis的缓存设计与优化,以及在生产环境中遇到的Redis常见问题,例如缓存雪崩和缓存穿透,还讲解了相关问题的解决方案。 1、Redis缓存的优点和缺点 1.1、缓存优点: 高速读写:Redis可以帮助解决由于数据库压力造成…

高斯伪谱C++封装库开源!

Windows x64/86 C无依赖运行高斯伪谱法求解最优控制问题,你只需要ElegantGP! Author: Y. F. Zhang His Github: https://github.com/ZYunfeii 写在前面 这个库在你下载它的那一时刻起不再依赖任何其他代码,直接可用来构建C的最优控制问题并进行求解。…

vscode配置wsl ubuntu c++的环境

在ubuntu安装llvm/clang sudo apt install llvm clang clangd lldb vscode的调试器接口是按GDB开发的,所以需要一个适配器,lldb-mi就是这个适配器。lldb-mi原来是llvm项目的一部分,后面成为了一个单独的项目https://github.com/lldb-tools/…

编译原理实验1——词法分析(python实现)

文章目录 实验目的实现定义单词对应的种别码定义输出形式:三元式python代码实现运行结果检错处理 总结 实验目的 输入一个C语言代码串,输出单词流,识别对象包含关键字、标识符、整型浮点型字符串型常数、科学计数法、操作符和标点、注释等等。…