Python开发之DataFrame数据的多种遍历方法

2023-10-30

前言:本博客转载自《DataFrame数据的多种遍历方法
之前本人博客链接
Python开发之Pandas的简单使用(一)
Python开发之Pandas的简单使用(二)
Python开发之处理常见的txt、excel、csv文档


1 遍历DataFrame的三种方法

  • iteritem()方法返回一个<class ‘method’>数据,可利用for循环获得输出
  • iterrow()方法返回一个<class ‘generator’>数据,可利用for循环获得输出
  • itertuple()方法返回一个<class ‘pandas.core.frame.Pandas’>数据,可利用getattr(row,‘列索引’)方法获得对应数据
    演示数据准备:
data = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
'year':[2000,2001,2002,2003,2004,2005],
'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}
frame = pd.DataFrame(data)

2 按列遍历

column_indexs = []
for column_index, row_data in frame.iteritems():
    column_indexs.append(column_index)
    print(row_data)
print(column_indexs)

运行结果:
在这里插入图片描述

3 按行遍历

3.1 第一种方法

row_indexs = []
for index, row in frame.iterrows():
    row_indexs.append(index)
    print(row)
print(row_indexs)

运行结果:
在这里插入图片描述
还可以通过列名获取对应数据

for index, row in frame.iterrows():
    print(row['pop'])

运行结果:
在这里插入图片描述

3.2 第二种方法

for row in frame.itertuples():
    print(getattr(row, 'state'), getattr(row, 'year'), getattr(row, 'pop'))
    print(type(row))

运行结果:
在这里插入图片描述

4 遍历DataFrame某一列(行)数据

演示数据准备

data = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
'year':[2000,2001,2002,2003,2004,2005],
'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}
frame = pd.DataFrame(data)

4.1 获取frame的index属性,然后使用frame[列索引].get(行索引)获得对应的值

print(frame.columns)
for index in frame.index:
    print(frame['state'].get(index))

运行结果:
在这里插入图片描述
与上面等价的两种写法

# 第一种
for index in frame.index:
    print(frame['state'][index])
# 第二种
for index in frame.index:
    print(frame.get('state').get(index))

4.2 获取frame的column属性,然后使用frame[列索引].get(行索引)获得对应的值

print(frame.index)
for column in frame.columns:
    print(frame[column].get(0))

运行结果:
在这里插入图片描述

5 获取某一个值

5.1 DataFrame.at[行索引,列索引]获取某一个值

在这里插入图片描述

5.2 DataFrame.iat[默认行索引,默认列索引]获取某一个值

在这里插入图片描述

5.3 DataFrame.loc[行索引,列索引]获取某个值,与at不同的是,只输入某一参数,获得某一行或某一列

在这里插入图片描述

5.4 DataFrame.iloc[默认行索引,默认列索引]获取某个值,与iat不同的是,只输入某一参数,获得某一行或某一列:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python开发之DataFrame数据的多种遍历方法 的相关文章

随机推荐

  • 如何导入csv与excel格式的数据到pandas库中?

    Pandas 库提供了许多方法来导入不同格式的数据 例如 CSV Excel JSON SQL 等 以下是使用 pandas 导入 CSV 和 Excel 文件的方法 导入 CSV 文件 可以使用 pandas 中的 read csv 函数
  • RDMA技术详解——RDMA的三种实现方式

    RDMA作为一种host offload host bypass技术 使低延迟 高带宽的直接的内存到内存的数据通信成为了可能 目前支持RDMA的网络协议有 1 InfiniBand IB 从一开始就支持RDMA的新一代网络协议 由于这是一种
  • Spring Boot + Vue的网上商城之springsecurity+jwt+redis实现用户权限认证实现

    Spring Boot Vue的网上商城之springsecurity jwt redis实现用户权限认证实现 在网上商城项目中 用户的安全性是非常重要的 为了实现用户权限认证和安全校验 我们可以使用Spring Security JWT和
  • 使用eclipse导出及导入jar包

    如果想在当前项目使用别的项目的类 是无法用import导入的 只能把别项目的类导出为jar包 然后再在本项目中倒入jar包 这就是自制jar包的功能 下面的操作都是在eclipse完成的 1 在欲导出的包的包名上 右键包名 Export J
  • 独自封装windows 10系统详细教程(二)

    目录 作者语录 三 调整系统设置 1 切换管理员账号 2 添加英文输入法 3 关闭windows自动更新 4 取消任务视图的历史记录 四 个性化设置 选择 1 调整视觉效果 2 windows桌面壁纸 登录壁纸 3 OEM信息 作者语录 这
  • android studio如何设置输出值的小数点_Stata结果输出系列A:esttab, xxx2docx, outreg2, asdoc 对比...

    作者 王美庭 中南民族大学经济学院 Email 2017110097 mail scuec edu cn 空间计量专题课程 1 本文目的 目前 Stata 有着众多的实证结果输出命令 连享会对于 asdoc xxx2docx 系列 outr
  • Rust语言开发基础(八)Rust的接口及其实现

    2019独角兽企业重金招聘Python工程师标准 gt gt gt trait 特征 类似于其他语言中的interface或者protocol 指定一个实际类型必须满足的功能集合 一 如何理解trait 可以从我们所了解的接口特性去推断tr
  • Mac OS X系统偏好设置某些功能点不动(灰色)的解决方法

    原文链接 http walkingtowel org 2010 02 25 accessing mac os x leopard greyed out preference panes 问题描述 将鼠标停在灰色的icon上显示 您的系统管理
  • 如何将本地的mongodb数据导出,然后上传至阿里云服务器上mongodb中呢?

    1 使用MongoDB Compass 可视化工具将本地数据库导出 Collection gt Export Collection 2 将本地导出的mongodb数据库表上传至服务器上的任意位置 我使用的是Yummy FTP Pro 我上传
  • C终端获取终端数据

    写在前边 关于C语言从键盘获取数据 常用的有scanf gets getchar fgets等等 但是scanf gets getchar等函数不会对输入的数据进行检查 会导致程序崩溃 所以一般都用fgets获取数据 fgets问题 fge
  • 【并发编程】1、简介

    并发编程 简介 1 并发的出现 1 1 引入 计算机的出现改变了我们的生活呀 但在早期的计算机计算的效率与成本非常的高 基本上只能用于军方与有钱家庭 每个人都只能将自己写好的代码放到计算机上 计算完成后才能让下一个人继续使用计算机 就相当于
  • WY37 - 操作序列 - 网易

    java实现 题目描述 小易有一个长度为n的整数序列 a 1 a n 然后考虑在一个空序列b上进行n次以下操作 1 将a i放入b序列的末尾 2 逆置b序列 小易需要你计算输出操作n次之后的b序列 输入描述 输入包括两行 第一行包括一个整数
  • 如何将eclipse的英文设置成中文?

    点击eclipse选项栏中的 help 项 选择 install new solftware 可以看见如下界面 选择 添加 出现Add Repository界面 在名称处填写 babel 位置处粘贴如下库 https download ec
  • FPGA中的AXI总线

    网上有很多介绍AXI的文章 本篇或多或少参考了一些 其中的一些内容是我自己的理解 我认为比较适合新手 希望能帮助到才接触FPGA的萌新 一 AXI简介 AXI Advanced eXtensible Interface 直译过来就是先进的可
  • NEON优化:ARM优化高频指令总结

    NEON优化 ARM优化高频指令总结 前言 读写 计算 转换 操作 参考资料 NEON优化系列文章 NEON优化1 软件性能优化 降功耗怎么搞 link NEON优化2 ARM优化高频指令总结 link NEON优化3 矩阵转置的指令优化案
  • 保姆级vmware workstation Pro17安装紫色kali linux(KALI PURPLE)

    官方文档如下 官方文档 https gitlab com kalilinux kali purple documentation wikis home 虚拟机安装 下载vmware workstation Pro17 一路下一步安装完成 h
  • 使用python实现淘宝抢购

    疫情当下 大部分人选择网购 但是在有限数量的网购商品时 大家就需要蹲点抢了 而蹲点也不一定比别手快 有什么方法可以实现自动蹲点抢购呢 使用方法 1 先把想抢购的商品加入淘宝手机端的购物车 2 修改代码中抢购时间 3 运行代码 4 弹出浏览器
  • Flutter学习第三课-布局组件 Row和Column

    线性布局 所谓线性布局 即指沿水平或垂直方向排布子组件 Flutter中通过Row和Column来实现线性布局 Row 水平布局 Column 垂直布局 Row 和 Column 组件是不可以滚动的 所以在 Row 和Column 组件中不
  • 减少代码重复率的方法

    1 使用设计模式 设计模式的可以提高代码的复用率 减少代码的重复度 2 使用类模板或者函数模板 所谓的泛型编程
  • Python开发之DataFrame数据的多种遍历方法

    Python开发之DataFrame数据的多种遍历方法 1 遍历DataFrame的三种方法 2 按列遍历 3 按行遍历 3 1 第一种方法 3 2 第二种方法 4 遍历DataFrame某一列 行 数据 4 1 获取frame的index