当前位置: 首页 > news >正文

pandas.core.frame.DataFrame怎么进行对象内容的读写

在 Python 中,pandas.core.frame.DataFrame 是 Pandas 数据库的核心数据结构,可以方便地读取和操作表格数据。以下是几种常见的读取内容的方法:


读取特定列

通过列名获取数据。

# 假设 df 是一个 DataFrame
data = df["列名"]  # 获取某一列,返回一个 Series 对象
data_list = df["列名"].tolist()  # 将某一列转为 Python 列表

示例:

# 假设表格如下:
#   A    B    C
# 0  1    4    7
# 1  2    5    8
# 2  3    6    9data = df["A"]  # 返回 A 列
# 输出:
# 0    1
# 1    2
# 2    3
# Name: A, dtype: int64data_list = df["A"].tolist()
# 输出:
# [1, 2, 3]

读取多列

传递列名列表,获取多个列。

selected_columns = df[["列名1", "列名2"]]

示例:

selected_columns = df[["A", "B"]]
# 输出:
#    A  B
# 0  1  4
# 1  2  5
# 2  3  6

读取特定行

使用索引或切片访问行数据。

row = df.loc[索引值]  # 根据标签(行号)读取某一行
row = df.iloc[索引值]  # 根据整数位置读取某一行
rows = df.iloc[起始行:结束行]  # 切片读取多行

示例:

row = df.loc[1]  # 返回索引为 1 的行
# 输出:
# A    2
# B    5
# C    8
# Name: 1, dtype: int64rows = df.iloc[0:2]  # 返回前两行
# 输出:
#    A  B  C
# 0  1  4  7
# 1  2  5  8

读取特定单元格

使用 .at.iat 方法。

value = df.at[行索引, "列名"]  # 根据标签读取
value = df.iat[行位置, 列位置]  # 根据整数位置读取

示例:

value = df.at[1, "A"]  # 获取第 1 行,A 列的值
# 输出:2value = df.iat[1, 0]  # 获取第 1 行,第 0 列的值
# 输出:2

按条件读取

通过布尔索引读取符合条件的数据。

filtered = df[df["列名"] > 条件值]  # 返回满足条件的行

示例:

filtered = df[df["A"] > 1]
# 输出:
#    A  B  C
# 1  2  5  8
# 2  3  6  9

遍历 DataFrame

如果需要逐行处理,可以使用以下方式:

方法 1:iterrows()(按行遍历)
for index, row in df.iterrows():print(index, row["列名1"], row["列名2"])
方法 2:itertuples()(更高效)
for row in df.itertuples():print(row.Index, row.列名1, row.列名2)

示例:

for index, row in df.iterrows():print(f"第 {index} 行: {row['A']}, {row['B']}, {row['C']}")

读取整体数据

  1. 查看 DataFrame 头部
    print(df.head())  # 默认显示前 5 行
    print(df.head(10))  # 显示前 10 行
    
  2. 转换为 NumPy 数组
    array = df.values
    
  3. 查看数据类型
    print(df.dtypes)
    

如果需要进一步操作,可以根据具体场景扩展!

http://www.lryc.cn/news/502870.html

相关文章:

  • 短作业优先调度算法
  • SpringBoot 应用并发处理请求数的深入解析
  • MetaGPT中的教程助手:TutorialAssistant
  • 介绍一款docker ui 管理工具
  • 0022 基于SpringBoot的婚纱摄影线上预约系统的设计与实现
  • uni-app在image上绘制点位并回显
  • Comparator.comparing 排序注意
  • PPO系列3 - PPO原理
  • .idea
  • 单片机:实现呼吸灯(附带源码)
  • PostgreSQL数据库序列信息查询
  • 【Linux】Nginx一个域名https一个地址配置多个项目【项目实战】
  • Linux驱动开发(12):中断子系统–按键中断实验
  • 代码随想录-算法训练营-番外(图论02:岛屿数量,岛屿的最大面积)
  • 20 go语言(golang) - gin框架安装及使用(一)
  • 重生之我在学Vue--第3天 Vue 3 模板语法与指令
  • 电脑win11家庭版升级专业版和企业版相关事项
  • docker 架构详解
  • tinyCam Pro 用于远程监控,控制和录制您的私人公共网络或IP摄像机
  • Flask 验证码自动生成
  • vmpwn小总结
  • 开源密码管理器 Bitwarden 一站式管理所有密码以及 2FA
  • 标准体重计算API集成指南
  • 多个终端查看的history不一样,如何确保多个终端会话之间的 history 一致,减少历史记录差异
  • Spring Boot整合EasyExcel并行导出及Zip压缩下载
  • Docker 对 iptables 规则的自动配置,这句话是什么意思
  • 使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件
  • 【SpringBoot中出现循环依赖错误】
  • 数据仓库-基于角色的权限管理(RBAC)
  • springboot3整合javafx解决bean注入问题