news 2026/5/4 12:48:03

科普:python的pandas包中的DataFrame就是二维表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
科普:python的pandas包中的DataFrame就是二维表

一、DataFrame 本质 =带表头 + 行号的二维表

pandas 的 DataFrame 就是一个二维表**
它自带的所有属性,都是为了描述这个二维表的:
行、列、值、形状、类型……**

df.columns(列名 / 表头) ↓ ↓ 'card_id' 'amount' ← 列名 ┌───────┬────────┐ row 0 │ user1 │ 10 │ ← df.values[0] row 1 │ user1 │ 20 │ ← df.values[1] row 2 │ user2 │ 50 │ ← df.values[2] └───────┴────────┘ ↑ df.index(行索引 / 行号)

df.index

行索引(最左边那列)

0 1 2

df.columns

列名(最上面那行)

['card_id', 'amount']

df.values

纯数据(去掉行号、表头)

[ ['user1', 10], ['user1', 20], ['user2', 50] ]

df.shape

几行几列

(3, 2) → 3行,2列

df.size

总单元格数量

3 × 2 = 6

df.dtypes

每一列的数据类型

card_id object amount int64

DataFrame = index(行) + columns(列) + values(数据)

  • 行:index
  • 列:columns
  • 数据:values

二、pandas 索引器

假设我们有一张表,长这样:

行索引(index)card_idamountcity
0user110北京
1user120上海
2user250广州

1.df[‘列名’]取列

  • 对应二维表取出某一列/几列(竖条)
# 取出 amount 这一列df['amount']

结果:

0 10 1 20 2 50 Name: amount, dtype: int64

2.df.loc[‘行标签’]按标签取行/列

# 1. 取行(取 index=0 那一行)df.loc[0]# 2. 取单元格(取第0行、city列的值)df.loc[0,'city']

结果:

'北京'

3.df.iloc[行号]按位置取行/列

# 1. 取行(取第0行,第1个位置的行)df.iloc[0]# 2. 取单元格(取第0行、第2列的值),索引列不计列数df.iloc[0,2]

结果:

'北京'

4.df.at[‘行标签’, ‘列名’]快速取单个值(最快)

# 直接定位:行标签是0,列名是 citydf.at[0,'city']

结果:

'北京'

“一题多解”的对比(取 user1 的第一笔金额)

方法代码结果评价
locdf.loc[0, 'amount']10最推荐,可读性好
ilocdf.iloc[0, 1]10精准,知道列在第几个位置
atdf.at[0, 'amount']10最快,只取一个值

三、举例

df.columns=cols[:1]+[co+'_hist'forcoincols[1:]]

功能:对列名重新命名
给列名批量加后缀_hist,但第一列card_id保持不变!


拆解成 3 步看

cols[:1]

保留第一列名不变

['card_id']

cols[1:]

第二列开始到最后的所有列

['A', 'B', 'C']

[co + '_hist' for co in cols[1:]]

给后面每一列都加上 _hist

['A_hist', 'B_hist', 'C_hist']

④ 拼起来

['card_id'] + ['A_hist', 'B_hist', 'C_hist'] → ['card_id', 'A_hist', 'B_hist', 'C_hist']

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 1:02:12

SpringBoot入门核心要点

一、SpringBoot 是什么?SpringBoot 是基于 Spring 框架开发的开源、快速开发、自动配置的 Java 应用开发框架,由 Pivotal 团队研发,支持它的核心优势:自动配置:无需手动编写XML/配置类,自动装配常用组件起步…

作者头像 李华
网站建设 2026/4/16 1:01:21

告别Keil!用VSCode+sdcc+stcgal在Mac上优雅开发51单片机项目

在Mac上构建现代化51单片机开发环境:VSCodesdccstcgal全攻略 当传统Keil开发环境遇上现代工具链,会碰撞出怎样的火花?对于长期使用STC89C52RC等51系列单片机的开发者而言,Keil的笨重界面、高昂授权费用和Windows平台限制始终是难以…

作者头像 李华
网站建设 2026/4/16 0:58:49

宝塔面板如何实现网站伪静态配置_添加Rewrite规则提升SEO

伪静态配置在宝塔面板中位于网站设置→配置文件页签底部,非独立菜单;常见问题为404、分页失效、重定向循环,根源是请求未正确重写至index.php;需保存后重载配置,Apache用户需手动转译规则;子目录部署、PHP运…

作者头像 李华
网站建设 2026/4/16 0:56:59

用Rdkit和Python搞定化学分子溶解度预测:从SMILES到机器学习模型实战

用Rdkit和Python构建化学分子溶解度预测实战指南 在药物研发和材料科学领域,准确预测化学分子的溶解度是至关重要的环节。传统实验测定方法耗时耗力,而基于机器学习的预测模型为研究人员提供了高效的计算工具。本文将手把手带您实现从SMILES字符串到完整…

作者头像 李华
网站建设 2026/4/16 0:55:31

期刊论文高效发表指南:虎贲等考 AI,让投稿从反复返修到一次达标

在学术发表竞争日趋激烈的当下,写好一篇符合期刊标准的论文,早已成为学生、教师与科研人员的核心刚需。从选题方向模糊、文献梳理繁琐,到框架逻辑混乱、实证分析薄弱、格式排版不规范,每一个环节都可能成为拒稿或返修的理由。面对…

作者头像 李华