首页 > 其他分享 >pandas库入门 1.01

pandas库入门 1.01

时间:2024-05-25 16:56:47浏览次数:25  
标签:1.01 loc 入门 Series DataFrame 索引 使用 pandas 相应

参考学习:

日月光华  ---------python 数据分析 深度学习

 

写本文不是为了提供学习参考,主要目的是为了加强记忆,如需学习建议去到上述参考资料自行搜索学习;

 

上节记载了Series的入门操作,还提及了pandas库另外一个数据结构 DataFrame

这个数据结构有点像列表:
下面是一种DataFrame的创建格式:

 可以看见它存储生成的是表,自动生成了一个行索引(index)从0-3;

我们可以使用它的列(columns)索引进行操作

 当然也可以使用它的行row索引,但是它对行索引有点像键就是上文提及的index操作类似

我们也可以自定义它的行index与列columns索引:具体的做法就是自己设定相应多个index与columns然后传入创建函数中使用

 上面通过自定义定义了行索引与列索引,那么我们可以直接调用相应索引来查看相应的行或者列:

下图也可以看出一个单独的列是Series类型的,所以感觉可以理解为DataFrame类型是由Series类型组成,只是在Series类型上多增加了键或者说多增加了一个维度;如果同时查看DataFrame中的多列返回的类型也是DataFrame的;

 可以通过head(+num)与tail(+num)函数查看前面几行总表数据或者后面几行总表数据:

 我们也可以直接显示DataFrame中记载的数据:
使用values

 对于其中列的索引存在两种方式,两种索引其结果都是相同的:

也可以同时对多个列进行索引,返回的类型是DataFrame的:

 上述都是对列columns的进行索引显示的情况,之前还提及了可以使用行row进行索引,但是这里要使用一个函数loc,同时还可以使用行索引与列索引一同进行处理索引特定的行与列,前面放置的是要索引的行,后面放置的是要索引的列,如果只有一个数据,那么默认索引全部列:

 loc是一种索引方式,那么我们可以通过索引后对其进行一些其他操作:

 除了使用loc对其于列的键进行具体索引外还可以使用iloc函数默认其排序进行数字方面的行列索引,相当于一种重映射的感觉吧,或者说直接将其当作多维数组了:注意的是我们对多行或者多列进行iloc的索引方式是在[]中嵌套[],如果[]中只有一个数字那么代表的就是索引相应的行,就是上述所说,如果【】中两个数字通过“,”隔开,那么就是索引第几行第几列具体位置,如果中间嵌套[]就是一个多行多列索引:

使用方式也差不多

 当然Series中可以类似像数组一般索引其中索引内部还可以增加条件那么DataFrame也是有相应的操作,但是还是会将全表打出,对于不满足条件的值直接就用NaN进行替代,也可以索引之后进行相应操作:

 对于那么df.b>1我感觉它返回的东西应该是[two,three]类似的东西所以在外面嵌套一层df的时候才会返回上面的结果;

测试了一下,返回的是b的Series类型:

 对行的索引只能使用loc函数或者iloc函数,如果直接照上面的那么索引会报错:

 除了一开始使用DataFrame创建完这个表之外我们还可以在后续添加相应的列,使用方式和图类似直接索引赋值就好,但是好像要给完与行对应的数据大小:

增加完相应的列可以使用del删除相应的列,上面提到了增加的列数据要对应,如果数据个数要对应,如果不对应好像生成不了,反正是这样理解的,或者说下面那种方式df.h=5本来就不行:

 上面说了列的增加与删除,那么相应的也就有行的增加与删除:

行的增加使用loc函数,删除使用drop函数,如果你是对一整行的设定一个数就是下图的方式,如果你是想增加列并且每一列都存放指定的值就用一个列表代替下面那个10即可,但是数据个数要与列相同;

 记住了使用普通的df【】进行索引,只能索引相应的列,loc,iloc函数才能实现对行列的共同索引

 如果在直接使用df[]索引时不太清晰建议直接在内部写上columns=[]与相应的列

 

标签:1.01,loc,入门,Series,DataFrame,索引,使用,pandas,相应
From: https://www.cnblogs.com/qianzhu/p/18212607

相关文章

  • pandas库入门 1.0
    学习参考:日月光华 ------------python数据分析深度学习 此文章主要目的不是供人参考学习,是为了记录增强记忆,如要学习建议寻找上述学习参考;pandas数据结构通常使用两种:Series于DataFrame 感觉就是Series就是一个map的感觉,可以自定义键(index)进行索引,注意书写格式就是......
  • Unity (保姆入门)
    前沿周末啦开始新的一轮征途,我的目标就是星辰大海嘎嘎孟还好之前学过COCOS,这个编辑器差不多, 还是不学无术啊。哈哈哈开始新的项目吧, 骚年!!!创建项目 然后倒入你的文件资源:材质,预制体之类的我网上找的材料然后在你的场景里面右键鼠标创建一个3D的胶囊体 ......
  • 【爆肝分享】AI绘图Stable Diffusion-ComfyUI 从入门到精通完整学习教程资料,AI绘图高
    「前言」自从2022年stablediffusion横空出世以来,AI绘图正以其强大的表现能力与惊人的迭代速度极大的改变了建筑师设计与表现的工作流程。无论是利用AI的随机性与可控性进行项目构思。▲AI体块造型构思亦或是利用AI辅助建筑表现。▲AI线稿精准控图甚至使用AI进行......
  • JavaScript入门指南:从零开始你的编程之旅
        JavaScript是现代web开发不可或缺的一部分,作为一种强大且灵活的编程语言,它可以在浏览器中运行,为网页添加互动功能。无论你是完全的初学者,还是有其他编程语言的基础,本文将引导你从零开始学习JavaScript。我们将涵盖基础知识、关键概念和实践技巧,帮助你迅速上手并......
  • kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法
    kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。一、shell脚本调用python脚本1、下面是一段简单的无参python脚本importosdefmain():#在这里编写Python脚本的主要逻辑print("Hello,thisisaPythonscriptcalledbyshell!")i......
  • Linux入门第三章安装及管理程序
    一.应用程序与命令的关系                                               文件位置:一般在/bin/sbin目录中,或为shell内部指令通常在/usr和usr/sbin目录中。     主......
  • MySQL入门——增删查改(上)
    新增语法:INSERT[INTO]table_name[(column[,column]...)]VALUES(value_list)[,(value_list)]...value_list:value,[,value]...单行数据+全列插入多行数据+指定列插入查询语法:SELECT[DISTINCT]{*|{column[,column]...}[FROMta......
  • 安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
    大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【斌】问了一个Python库安装的问题。求教大佬:华为笔记本,麒麟系统,安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具,再安装打包工具冒出来这个故障,求教这是什么故障?怎么解决呢?二、实现过程这里【......
  • React 入门 概念解释
    记录自己的学习过程,纯干货~一、项目初始化在(要新建项目的位置目录下)终端中打开<可以直接在文件夹用cmd或VSCode中打开>-输入npxcreate-react-appmy-project-name 搭建项目(需要些时间)-输入cdmy-project-name进入项目目录-输入npmstart启动项目,可以通过给到的......
  • pwn基础入门-buuctf-2.rip
    2.rip题目:函数溢出,熟悉解题思路过程将下载下来的pwn1文件内容,放到ubuntu中checksec一下ubuntu中checksec文件从图上可以看出它是一个64位程序,仅开启了栈不可执行保护,没有打开NX防护(堆栈可执行),NoPIE.下面我们用IDA打开这个文件F5打开这个文件后,会有这样一......