【Python】pandas:查看数据(head, tail, values属性, at, iat, loc, iloc, [ ], sample)

pandas是Python的扩展库(第三方库),为Python编程语言提供 高性能、易于使用的数据结构和数据分析工具。

pandas官方文档:User Guide — pandas 2.2.2 documentation (pydata.org)

帮助:可使用help(...)查看函数说明文档(若是第三方库的函数,需先导入库)。例如:help(pd.DataFrame)

补充:Series和DataFrame

  • Series索引标签(label):Series中index的内容,可通过Series.index查看索引标签。
  • Series索引位置(position):Series中index的隐藏下标,从0开始。
  • DataFrame索引标签(label):DataFrame中行索引标签为index的内容,可通过DataFrame.index查看行索引标签。列索引标签为columns的内容(即列名),可通过DataFrame.columns查看列索引标签。
  • DataFrame索引位置(position):DataFrame中index和columns的隐藏下标,都从0开始。

Python代码中,导入pandas:

import pandas as pd


(1)查看指定数据:head方法,  tail方法, values属性

Series:

  • Series.head():默认查看Series 前5个数据。
  • Series.head(num):查看Series 前num个数据。
  • Series.tail():默认查看Series 最后5个数据。
  • Series.tail(num):查看Series 最后num个数据。
  • Series.values:查看Series 所有数据。

DataFrame:

  • DataFrame.head():默认查看DataFrame 前5行数据。
  • DataFrame.head(num):查看DataFrame 前num行数据。
  • DataFrame.tail():默认查看DataFrame 最后5行数据。
  • DataFrame.tail(num):查看DataFrame 最后num行数据。
  • DataFrame.values:查看DataFrame 所有数据。


(2)查看单个数据:at, iat

Series:

  • Series.at(label):通过索引标签label查看单个数据。可赋值修改其数据。
  • Series.iat(position):通过索引位置position查看单个数据。可赋值修改其数据。

DataFrame:

  • DataFrame.at(行label, 列label):通过索引标签label从单行单列中查看单个数据。可赋值修改其数据。
  • DataFrame.iat(行position, 列position):通过索引位置position从单行单列中查看单个数据。索引位置position从0开始。可赋值修改其数据。


(3)查看指定数据:loc, iloc

Series:

  • Series.loc[label]:通过索引标签label查看数据。可赋值修改其数据。
  • Series.loc[ [label1, label2, ...] ]:查看多个索引标签label对应的数据。
  • Series.loc[ label1 : label2]:查看两个索引标签label之间的数据。若没有label1,则从第一个开始,若没有label2,则到最后一个。可赋值修改其数据。
  • Series.iloc[position]:通过索引位置position查看数据。可赋值修改其数据。
  • Series.iloc[ [position1, position2, ...] ]:查看多个索引位置position对应的数据。
  • Series.iloc[ position1 : position2]:查看两个索引位置position之间的数据。若没有position1,则从第一个开始,若没有position2,则到最后一个。可赋值修改其数据。
  • 注:索引位置position,从0开始。

  • Series.loc[bool]:通过布尔列表/数组获取对应的数据。可赋值修改其数据。
  • Series.iloc[bool]:通过布尔列表/数组获取对应的数据。可赋值修改其数据。

DataFrame:(loc)

  • DataFrame.loc[行label]:查看行索引标签label的整行数据。
  • DataFrame.loc[行label1 : 行label2]:查看行索引标签 label1到label2 之间连续的整行数据。若没有行label1,则从第一行开始,若没有行label2,则到最后一行。
  • DataFrame.loc[ [行label1, 行label2, ...] ]:查看行索引标签 label1、label2...的整行数据。
  • DataFrame.loc[ : , 列label]:查看列索引标签label的整列数据。
  • DataFrame.loc[ : , 列label1 : 列label2]:查看列索引标签 label1到label2 之间连续的整列数据。若没有列label1,则从第一列开始,若没有列label2,则到最后一列。
  • DataFrame.loc[ : , [列label1, 列label2, ...] ]:查看列索引标签 label1、label2...的整列数据。

  • DataFrame.loc[行label列label]:查看行索引标签label、列索引标签label的单个数据。
  • DataFrame.loc[ [行label1 行label2, ...], [列label1 列label2, ...] ]:查看行索引标签label1,label2...、列索引标签label1,label2...的数据。
  • DataFrame.loc[行label1 行label2列label1 列label2]:查看行索引标签 label1到label2、列索引标签 label1到label2 的数据。若没有行label1则从第一行开始,若没有行label2则到最后一行,若没有列label1则从第一列开始,若没有列label2则到最后一列。

  • DataFrame.loc[bool]:通过布尔列表/数组获取True的整行数据。
  • DataFrame.loc[ : , bool]:通过布尔列表/数组获取True的整列数据。
  • DataFrame.loc[bool列label相关]:通过布尔列表/数组获取True的行且部分列的数据。"列label相关":可以是单列、列表表示的多列、表示的连续的多列。

DataFrame.loc[...] 可修改数据。

DataFrame:(iloc)

  • DataFrame.iloc[行position]:查看行索引位置position的整行数据。
  • DataFrame.iloc[行position1 : 行position2]:查看行索引位置 position1到position2(不含)之间连续的整行数据。若没有行position1,则从第一行开始,若没有行position2,则到最后一行。
  • DataFrame.iloc[ [行position1, 行position2, ...] ]:查看行索引位置position1,position2...的整行数据。
  • DataFrame.iloc[ : , 列position]:查看列索引位置position的整列数据。
  • DataFrame.iloc[ : , 列position1 : 列position2]:查看列索引位置 position1到position2(不含)之间连续的整列数据。若没有列position1,则从第一列开始,若没有列position2,则到最后一列。
  • DataFrame.iloc[ : , [列position1, 列position2, ...] ]:查看列索引位置position1,position2...的整列数据。

  • DataFrame.iloc[行position列position]:查看行索引位置position、列索引位置position的单个数据。
  • DataFrame.iloc[ [行position1 行position2, ...], [列position1 列position2, ...] ]:查看行索引位置position1,position2...、列索引位置position1,position2...的数据。
  • DataFrame.iloc[行position1 行position2列position1 列position2]:查看行索引位置position1到position2(不含)、列索引位置position1到position2(不含)的数据。若没有行position1则从第一行开始,若没有行position2则到最后一行,若没有列position1则从第一列开始,若没有列position2则到最后一列。
  • 注:行/列索引位置position,都从0开始。

  • DataFrame.iloc[bool]:通过布尔列表/数组获取True的整行数据。
  • DataFrame.iloc[ : , bool]:通过布尔列表/数组获取True的整列数据。

DataFrame.iloc[...] 可修改数据。


补充:

DataFrame中loc和iloc共同点:

  • DataFrame.loc[行标签, 列标签],DataFrame.iloc[行位置, 列位置]。都是 [ 行, 列 ]
  • 行/列都可以单个,也可以使用列表表示多个,也可以使用 表示连续行或列。也可以使用布尔列表/数组。

DataFrame中loc和iloc区别:

  • loc通过行/列索引标签(label)获取数据。iloc通过行/列索引位置(position)获取数据。索引位置从0开始。
  • 连续行或列时,loc包含起始和结束标签的行/列。iloc包含起始行/列,不包含结束行/列。

(4)查看整列整行数据:[ ]

DataFrame.loc[...],DataFrame.iloc[...],都可以查看整列或整行数据。

  • DataFrame[列label]:查看列索引标签label的整列数据。
  • DataFrame[ [列label1, 列label2, ...] ]:查看列索引标签 label1、label2...的整列数据。
  • DataFrame[行position1 : 行position2]:查看行索引位置position1到position2(不含)的整行数据。若没有行position1,则从第一行开始,若没有行position2,则到最后一行。索引位置position从0开始。

DataFrame[条件]:通过条件筛选数据。

DataFrame[...] 可修改数据。


(5)随机查看数据:sample

sample(self: 'NDFrameT', n: 'int | None' = None, frac: 'float | None' = None, replace: 'bool_t' = False, weights=None, random_state: 'RandomState | None' = None, axis: 'Axis | None' = None, ignore_index: 'bool_t' = False) -> 'NDFrameT'

  • DataFrame.sample(num):默认axis=0,随机挑选num行数据。
  • DataFrame.sample(num, axis=1):axis=1,随机挑选num列数据。
  • DataFrame.sample(frac=指定权重, replace=True):默认axis=0,n=行数*权重(若n不为整数,向上取整),n次随机挑选1行数据。
  • DataFrame.sample(frac=指定权重, replace=True, axis=1):axis=1,n=列数*权重(若n不为整数,向上取整),n次随机挑选1列数据。

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

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

相关文章

Spring Boot:图书管理系统(一)

1.编写用户登录接口 代码: package com.example.demo;import jakarta.servlet.http.HttpSession; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotatio…

Linux 查找命令

目录 1. 查看二进制文件 which 2. 查看指定文件 find ​2.1 文件名查找 2.2 文件大小查找 前面学习过的 Linux 命令,其实质是一个个的二进制可执行程序,与 Windows 系统中的 .exe 文件是一个意思。 1. 查看二进制文件 which 语法: w…

sonar代码扫描报错:ERROR: Something went wrong storing the PDF at server side.

原因: URL带“/”引起的,去掉即可。 去掉之后成功:

2、从0搭建企业门户网站——云服务器租用

目录 正文 1、登录阿里云 2、进入云服务器界面 3、租用云服务器 正文 云服务器厂商很多,这里主要以阿里云服务器为主介绍云服务器的相关知识。 1、登录阿里云 阿里云官网地址 2、进入云服务器界面 登录后,点击控制台,进入主界面。

当AI遇上“近亲繁殖”:牛津剑桥Nature封面揭秘

在这个AI无所不能的时代,一项新的研究再次刷新了我们的认知边界。牛津大学、剑桥大学、帝国理工学院和多伦多大学的研究团队,携手登上《自然》杂志封面,揭露了一个令人震惊的事实:AI也可能遭遇“近亲繁殖”的问题! 更多信息,请关注微信公众号:JAVA和人工智能 “近亲繁…

[Unity] ShaderGraph实现不同贴图素材的同一材质球复用

无意间发现的ShaderGraph小技巧, 可以实现同一个ShaderGraph,同一个Material材质球, 但使用不同的Texture贴图,而Sprite显示不会相互覆盖。 具体实现方法如下: 声明Texture2D时,把名字命名成&#xff1a…

github-page静态网页将字符串写入github库中文本文档

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

echarts使用案例

1.配置legend icon 根据点击事件动态更换样式 <template><div ref"chart" style"width: 600px; height: 400px;"></div></template><script>import * as echarts from echarts;export default {name: EchartsExample,data(…

Canvas生成动画---显示一组彩色气泡

一、JS版本 <!--* Author: LYM* Date: 2024-07-26 13:51:47* LastEditors: LYM* LastEditTime: 2024-07-26 16:14:40* Description: Please set Description --> <!DOCTYPE html> <html> <head><title>canvas动态气泡</title><style&g…

JMeter接口测试:测试中奖概率!

介绍 Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具&#xff0c;用于对软件做压力测试。JMeter 最初被设计用于 Web 应用测试&#xff0c;但后来扩展到了其他测试领域&#xff0c;可用于测试静态和动态资源&#xff0c;如静态文件、Java 小服务程序、CGI 脚本、J…

学习日志:JVM垃圾回收

文章目录 前言一、堆空间的基本结构二、内存分配和回收原则对象优先在 Eden 区分配大对象直接进入老年代长期存活的对象将进入老年代主要进行 gc 的区域空间分配担保 三、死亡对象判断方法引用计数法可达性分析算法引用类型总结1&#xff0e;强引用&#xff08;StrongReference…

联想教育电脑硬盘保护同传EDU系统使用简明教程

目录 一、原理概述 二、简明使用方法 1、软件下载 2、开机引导 3、开始安装 4、使用 &#xff08;1&#xff09;进入底层 &#xff08;2&#xff09;进行分区设置 &#xff08;3&#xff09;系统设置 &#xff08;4&#xff09;安装硬盘保护驱动 &#xff08;5&…

VUE3学习第三篇:报错记录

1、在我整理好前端代码框架后&#xff0c;而且也启动好了对应的后台服务&#xff0c;访问页面&#xff0c;正常。 2、报错ReferenceError: defineModel is not defined 学到这里报错了 在vue网站的演练场&#xff0c;使用没问题 但是在我自己的代码里就出问题了 3、watchEffec…

【YOLOv5/v7改进系列】引入中心化特征金字塔的EVC模块

一、导言 现有的特征金字塔方法过于关注层间特征交互而忽视了层内特征的调控。尽管有些方法尝试通过注意力机制或视觉变换器来学习紧凑的层内特征表示&#xff0c;但这些方法往往忽略了对密集预测任务非常重要的被忽视的角落区域。 为了解决这个问题&#xff0c;作者提出了CF…

算法与算法分析

目录 一.前言 二.算法的特性和要求 三.分析算法--时间效率 四. 分析算法--空间效率 一.前言 算法就是对特定问题求解方法和步骤的一种描述&#xff0c;它是指令的有限序列。其中&#xff0c;每个指令表示一个或多个操作。总而言之&#xff0c;我们数据结构就是通过算法实现操…

微信小程序之调查问卷

一、设计思路 1、界面 调查问卷又称调查表&#xff0c;是以问题的形式系统地记载调查内容的一种形式。微信小程序制作的调查问卷&#xff0c;可以在短时间内快速收集反馈信息。具体效果如下所示&#xff1a; 2、思路 此调查问卷采用服务器客户端的方式进行设计&#xff0c;服…

力扣141环形链表问题|快慢指针算法详细推理,判断链表是否有环|龟兔赛跑算法

做题链接 目录 前言&#xff1a; 一、算法推导&#xff1a; 1.假设有环并且一定会相遇&#xff0c;那么一定是在环内相遇&#xff0c;且是快指针追上慢指针。 2.有环就一定会相遇吗&#xff1f;快指针是每次跳两步&#xff0c;有没有可能把慢指针跳过去&#xff1f; 3.那一定…

大模型算法备案流程最详细说明【流程+附件】

文章目录 一、语料安全评估 二、黑盒测试 三、模型安全措施评估 四、性能评估 五、性能评估 六、安全性评估 七、可解释性评估 八、法律和合规性评估 九、应急管理措施 十、材料准备 十一、【线下流程】大模型备案线下详细步骤说明 十二、【线上流程】算法备案填报…

算法-BFS搜索

题目一 解题思路 比较标准的暴力搜索空间换时间的策略 二维数组map表示具体地图&#xff0c;far表示遍历过程中某点到起点的距离。 队列 q 表示在遍历过程中当前距离的所以节点坐标。 每次的节点寻找其上下左右四个方向可以继续前进的点&#xff08;这里在过程中会发生两个…

pyqt designer使用spliter

1、在designer界面需要使用spliter需要父界面不使用布局&#xff0c;减需要分割两个模块选中&#xff0c;再点击spliter分割 2、在分割后&#xff0c;再对父界面进行布局设置 3、对于两边需要不等比列放置的&#xff0c;需要套一层 group box在最外层进行分割