df.iterrows()和df.columns超简单详细使用

pandas库中,DataFrame.iterrows()DataFrame.columns 是两个非常常用的方法和属性,分别用于迭代数据行和获取列名称。

1. df.iterrows()

  • 作用:逐行迭代DataFrame,返回每一行的索引和对应的行数据(作为一个Series)。
  • 特点:适用于需要对每一行进行逐行处理的场景。
  • 注意事项
    • 使用iterrows()效率较低,不适合处理大规模数据。
    • 返回的行是一个副本,对它的修改不会影响原DataFrame。

示例代码

import pandas as pd

# 创建示例DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)

# 使用 iterrows() 迭代每一行
for index, row in df.iterrows():
    print(f"Index: {index}, Name: {row['Name']}, Age: {row['Age']}, City: {row['City']}")

输出

Index: 0, Name: Alice, Age: 25, City: New York
Index: 1, Name: Bob, Age: 30, City: Los Angeles
Index: 2, Name: Charlie, Age: 35, City: Chicago

2. df.columns

  • 作用:返回DataFrame的列名,类型为pandas.Index
  • 特点:可以用来查看或操作列名。
  • 常见操作
    • 获取列名列表:list(df.columns)
    • 修改列名:df.columns = ['new_col1', 'new_col2', 'new_col3']

示例代码

# 查看列名
print("列名:", df.columns)

# 将列名转为列表
columns_list = list(df.columns)
print("列名列表:", columns_list)

# 修改列名
df.columns = ['Full Name', 'Age (Years)', 'Location']
print("修改后的DataFrame:\n", df)

输出

列名: Index(['Name', 'Age', 'City'], dtype='object')
列名列表: ['Name', 'Age', 'City']
修改后的DataFrame:
     Full Name  Age (Years)       Location
0      Alice          25     New York
1       Bob            30 Los Angeles
2    Charlie          35      Chicago

总结

  • iterrows() 用于逐行迭代,返回索引和行数据。
  • columns 是查看和操作列名的重要属性。

如果需要高效处理数据,推荐使用矢量化操作,而不是逐行迭代。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

33.3K 的Freqtrade:开启加密货币自动化交易之旅

“ 如何更高效、智能地进行交易成为众多投资者关注的焦点。” Freqtrade 是一款用 Python 编写的免费开源加密货币交易机器人。它就像一位不知疲倦的智能交易助手,能够连接到众多主流加密货币交易所,如 Binance、Bitmart、Bybit 等(支…

计算机网络 (26)互联网的路由选择协议

一、路由选择协议的基本概念 路由选择协议是计算机网络中用于确定数据包在网络中传输路径的一种协议。它帮助路由器构建和维护路由表,以便根据目的地址将数据包转发到正确的下一跳路由器。路由选择协议分为静态路由选择协议和动态路由选择协议两大类。 二、静态路由…

【MySQL实战】Centos安装MySQL

在CentOS上安装MySQL以及进行性能分析:2种方式,第一种直接装;第二种用docker安装: 直接安装MySQL 首先,更新系统软件包列表: sudo yum update然后,安装MySQL服务器: sudo yum in…

centOS7

特殊权限 set_uid 赋予所有者身份 chmod us 文件 set_gid 赋予所有组身份 chmod gs 文件/目录 sticky_bit 防火墙 firewall-cmd 开启端口 firewall-cmd --zonepublic --add-port8080/tcp --permanent 重启防火墙 systemctl restart firewalld 查看开启的所有端口 fi…

Java后端开发单元测试

测试概览 测试是用于促进鉴定软件正确性、完整性、安全性和软件质量的过程。在开发的过程中测试是必不可少的,测试一般分为四个阶段:单元测试,集成测试,系统测试,验收测试;对于后端开发人员而言&#xff0…

LAMP搭建

LAMP搭建 引子:本篇文章为LAMP的搭建流程,其中L(Ubuntu)、A(Apache)、M(Mysql)、P(PHP)。 一、L → Ubuntu Step 1:在Vmware Workstation中使…

LabVIEW 系统诊断

LabVIEW 系统诊断是指通过各种工具和方法检测、评估、分析和解决 LabVIEW 程序和硬件系统中可能存在的故障和性能问题。系统诊断不仅涵盖软件层面的调试与优化,还包括硬件交互、数据传输、实时性能等方面的检查和分析。一个成功的系统诊断能够显著提升LabVIEW应用程…

基于 GEE 提取白莲种植范围

目录 1 方法原理 1.1 步骤一 1.2 步骤二 1.3 步骤三 1.4 步骤四 2 完整代码 3 运行结果 近年来,随着乡村振兴战略的提出,我国的农业种植模式呈现出多元化的趋势。白莲具有易种植、经济效益高的特点,由此被广泛种植,本文介绍…

el-table 自定义表头颜色

第一种方法&#xff1a;计算属性 <template><div><el-table:data"formData.detail"border stripehighlight-current-row:cell-style"{ text-align: center }":header-cell-style"headerCellStyle"><el-table-column fixed…

c++类和对象---上

文章目录 类的介绍 类的声明 1.1 类名 1.2 成员变量 1.3 成员函数 1.4 访问权限 类的定义 2.1 成员变量的初始化 2.2 成员函数的实现 对象的创建和销毁 3.1 默认构造函数 3.2 析构函数 3.3 拷贝构造函数 3.4 对象的实例化 3.5 对象的销毁 成员访问控制 4.1 公有成员 4.2 私有…

上汽乘用车研发流程

目的 最近刚入职主机厂&#xff0c;工作中所提到各个阶段名称与之前在供应商那边不一致&#xff0c;概念有点模糊&#xff0c;所以打算学习了解一番 概念 术语 EP: enginerring prototype car 工程样车 Mule Car: 骡子车 Simulator Car&#xff1a;模拟样车 PPV&#xff1a;…

阿里云发现后门webshell,怎么处理,怎么解决?

当收到如下阿里云通知邮件时&#xff0c;大部分管理员都会心里一惊吧&#xff01;出现Webshell&#xff0c;大概是网站被入侵了。 尊敬的 xxxaliyun.com&#xff1a; 云盾云安全中心检测到您的服务器&#xff1a;47.108.x.xx&#xff08;xx机&#xff09;出现了紧急安全事件…

vite5.x配置https

旧版的vite直接在config里面配置https&#xff1a;true即可&#xff0c;新版的麻烦一些。 1.准备工作 需要安装openssl 下载地址&#xff1a;Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 找到合适的版本安装&#xff0c;配置好环境变量&#x…

深度学习与计算机视觉 (博士)

文章目录 零、计算机视觉概述一、深度学习相关概念1.学习率η2.batchsize和epoch3.端到端(End-to-End)、序列到序列(Seq-to-Seq)4.消融实验5.学习方式6.监督学习的方式(1)有监督学习(2)强监督学习(3)弱监督学习(4)半监督学习(5)自监督学习(6)无监督学习(7)总结&#xff1a;不同…

在AI浪潮中,RSS3为何会被低估其价值?有何潜力

​​RSS3 简介&#xff1a; RSS3 是一个去中心化网络索引和结构化开放信息&#xff0c;使其对于下一个 Twitter、Google 和 OpenAI 来说易于访问且有价值。凭借独特的数据子层价值子层设计&#xff0c; RSS3 网络推动了开放信息从索引到消费等的全生命周期&#xff0c;并建立了…

BMS应用软件开发 — 3 电池系统的组成

目录 1 电池的基本拓扑 2 已经被淘汰的CTM 3 早已经普及的CTP 4 集成度更高的CTC 5 刚性更好的CTB 1 电池的基本拓扑 相比于燃油车&#xff0c;虽然电动车在结构空间上灵活度更高&#xff0c;空间利用率也更好&#xff0c;但现有条件下无法像燃油车一样快速补能&#xff…

UE5 打包要点

------------------------- 1、需要环境 win sdk &#xff0c;大约3G VS&#xff0c;大约10G 不安装就无法打包&#xff0c;就是这么简单。 ----------------------- 2、打包设置 编译类型&#xff0c;开发、调试、发行 项目设置-地图和模式&#xff0c;默认地图 项目…

高等数学学习笔记 ☞ 一元函数微分的基础知识

1. 微分的定义 &#xff08;1&#xff09;定义&#xff1a;设函数在点的某领域内有定义&#xff0c;取附近的点&#xff0c;对应的函数值分别为和&#xff0c; 令&#xff0c;若可以表示成&#xff0c;则称函数在点是可微的。 【 若函数在点是可微的&#xff0c;则可以表达为】…

Redis查询缓存

什么是缓存&#xff1f; 缓存是一种提高数据访问效率的技术&#xff0c;通过在内存中存储数据的副本来减少对数据库或其他慢速存储设备的频繁访问。缓存通常用于存储热点数据或计算代价高的结果&#xff0c;以加快响应速度。 添加Redis缓存有什么好处&#xff1f; Redis 基…

3D立体无人机夜间表演技术详解

3D立体无人机夜间表演技术是一种结合了无人机技术、灯光艺术和计算机编程的创新表演形式。以下是该技术的详细解析&#xff1a; 一、技术基础 1. 无人机技术&#xff1a; 无人机通常采用四旋翼设计&#xff0c;具有强大的飞行控制能力&#xff0c;可以实现前飞、后飞、悬停、…