Pandas Cheat Sheet:pandas 数据整理(Data Wrangling)一页速查手册

发布时间:2026/9/18 20:13:00

Pandas Cheat Sheet:pandas 数据整理(Data Wrangling)一页速查手册 Pandas Cheat Sheetpandas 数据整理Data Wrangling一页速查手册【免费下载链接】pandasFlexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more项目地址: https://gitcode.com/gh_mirrors/pa/pandasPandas Cheat Sheet 是 pandas 官方仓库维护的“一页纸”数据整理速查手册浓缩了从创建 DataFrame、筛选子集、重塑melt/pivot、合并merge到类型转换、日期时间访问器、绘图与文件 I/O 的全部高频操作。本文完整复刻并扩写了该速查表的三大板块内容并结合仓库源码指出关键 API 的落点读完即可把它当作日常写 pandas 代码时的检索式参考。Cheat Sheet 是什么速查表本体由 doc/cheatsheet/README.md 说明其核心事实如下该手册使用 Microsoft PowerPoint 2013 制作在 PPT 中执行“另存为 PDF”即可得到 PDF 版本原稿由 Princeton Consultants 的 Irv Lustig 编写灵感来自 RStudio 的 Data Wrangling Cheatsheet提供三种语言版本其中英文版包含其他语言版本没有的额外内容版本PDFPPTX英文EnglishPandas_Cheat_Sheet.pdfPandas_Cheat_Sheet.pptx日文JapanesePandas_Cheat_Sheet_JA.pdfPandas_Cheat_Sheet_JA.pptx波斯文PersianPandas_Cheat_Sheet_FA.pdfPandas_Cheat_Sheet_FA.pptxREADME 还提到一个“替代方案”DataCamp 以 PDF、Google Colab 和 Streamlit 三种形式发布的 Pandas Cheat Sheet详见 README 末尾表格此处不复述外链。仓库中这 6 个文件位于 doc/cheatsheet/ 目录可直接查看或下载打印。速查表整体遵循“Tidy Data整洁数据”这一基础理念每个变量variable存于各自独立的列、每个观测observation存于各自独立的行。README 与 PPT 首页均强调整洁数据与 pandas 的向量化操作天然契合操作变量时 pandas 会自动保持观测的对齐没有比这更符合 pandas 直觉的数据格式。以下各节按 PPT 三页幻灯片的脉络完整展开。一、创建 DataFrameCreating DataFrames速查表给出了三种构造 DataFrame 的典型写法。1. 按列指定值字典形式df pd.DataFrame( {a: [4, 5, 6], b: [7, 8, 9], c: [10, 11, 12]}, index[1, 2, 3] )2. 按行指定值二维列表形式df pd.DataFrame( [[4, 7, 10], [5, 8, 11], [6, 9, 12]], index[1, 2, 3], columns[a, b, c] )3. 带 MultiIndex 的 DataFramedf pd.DataFrame( {a: [4, 5, 6], b: [7, 8, 9], c: [10, 11, 12]}, indexpd.MultiIndex.from_tuples( [(d, 1), (d, 2), (e, 2)], names[n, v] ) )二、筛选行逻辑条件与 query速查表将“按逻辑条件抽取行”作为独立小节核心写法有布尔索引df[df.Length 7]—— 提取满足逻辑条件的行正则列名筛选df.filter(regexregex)—— 选出列名匹配正则表达式的列字符串正则匹配配合str访问器df.query(Name.str.startswith(abc), enginepython)成员判断df.column.isin(values)—— 判断列值是否属于给定集合空值判断pd.isnull(obj)是 NaN与pd.notnull(obj)不是 NaN。Python/pandas 逻辑运算符速查来自 PPT 第一页的对照表符号含义符号含义小于等于!不等于小于或等于大于大于或等于,\|,~,^逻辑 and、or、not、xordf.any(),df.all()逻辑 any、allquery()用法query()支持用布尔表达式按行筛选且可直接用列名书写df.query(Length 7) df.query(Length 7 and Width 8)抽样与排序选择类操作同一页右侧列出的高频方法代码作用df.drop_duplicates()删除重复行只考虑列值df.sample(frac0.5)随机抽取 50% 的行df.sample(n10)随机抽取 10 行df.nlargest(n, value)选取并排序前 n 大的条目df.nsmallest(n, value)选取并排序前 n 小的条目df.head(n)选取前 n 行df.tail(n)选取后 n 行三、子集操作loc / iloc / at / iat 与正则PPT 将子集操作划分为“子集观测行”“子集变量列”“行列同时选”三类核心规则是第一索引选行第二索引选列。代码作用df[width]或df.width按名称选择单列df[[width, length, species]]按名称选择多列df.iloc[10:20]选择第 10 至 20 行位置索引df.iloc[:, [1, 2, 5]]选择位置 1、2、5 的列第一列位置为 0df.loc[:, x2:x4]选择 x2 到 x4 之间的全部列含边界df.loc[df[a] 10, [a, c]]满足条件的行 指定列df.iat[1, 2]按索引位置访问单个值df.at[4, A]按标签访问单个值速查表的总结句值得记住用df.loc[]和df.iloc[]选行、选列或行列用df.at[]和df.iat[]访问单个值。正则表达式示例PPT 首页给出的 5 个例子均针对列名匹配正则含义\.匹配包含句点.的字符串Length$匹配以Length结尾的字符串^Sepal匹配以Sepal开头的字符串^x[1-5]$匹配以x开头、以 1–5 之一结尾的字符串^(?!Species$).*匹配除Species之外的所有字符串负向先行断言四、重塑数据Reshapingmelt、pivot、concat 与方法链这一节是速查表的第一大板块主题是“改变布局、排序、重排索引、重命名”代码作用pd.melt(df)将列聚集为行宽表 → 长表df.pivot(columnsvar, valuesval)将行摊开为列长表 → 宽表pd.concat([df1, df2])纵向拼接行pd.concat([df1, df2], axis1)横向拼接列df.sort_values(mpg)按某列的值升序排列行df.sort_values(mpg, ascendingFalse)按某列的值降序排列行df.rename(columns{y: year})重命名列df.sort_index()对索引排序df.reset_index()把索引重置为行号原索引变成列df.drop(columns[Length, Height])删除指定列方法链Method Chaining大多数 pandas 方法都会返回 DataFrame因此可以把一个方法的结果继续交给下一个方法PPT 给出的示例df (pd.melt(df) .rename(columns{variable: var, value: val}) .query(val 200) )PPT 原话指出由于多数方法返回 DataFrame代码可读性得以提升。源码佐证melt的实现位于 pandas/core/reshape/melt.py函数melt见 L45 起DataFrame.melt与DataFrame.pivot分别定义在 pandas/core/frame.py 与 pandas/core/frame.pypd.concat的入口在 pandas/core/reshape/concat.py。阅读这些文件可以进一步理解id_vars、var_name等未在速查表展开的参数。五、合并数据集Combine Data Setsmerge 与过滤式联接速查表第二页首先给出四张示例小表adf 含 A、B 两行bdf 含 C 行键为x1演示四种标准联接代码作用pd.merge(adf, bdf, howleft, onx1)左联接把 bdf 中匹配的行接到 adf 上未匹配处为 NaNpd.merge(adf, bdf, howright, onx1)右联接把 adf 中匹配的行接到 bdf 上pd.merge(adf, bdf, howinner, onx1)内联接只保留两边都有的行pd.merge(adf, bdf, howouter, onx1)外联接保留所有值、所有行过滤式联接Filtering Joins——不真正拼接列只按成员关系过滤行adf[adf.x1.isin(bdf.x1)] # adf 中在 bdf 里有匹配的所有行 adf[~adf.x1.isin(bdf.x1)] # adf 中在 bdf 里没有匹配的所有行逐行变换类方法同一页右侧常用于构造衍生列代码作用shift(1)复制一份值向下平移 1产生滞后 lagshift(-1)复制一份值向上平移 1产生超前rank(methoddense)排名并列不留空档rank(methodmin)排名并列取最小名次rank(methodfirst)排名并列名次归先出现的值rank(pctTrue)排名归一化到区间 [0, 1]cumsum()累积和cummax()累积最大值cummin()累积最小值cumprod()累积乘积六、类型转换Changing Type代码作用pd.to_numeric(data)将非数值类型转换为数值类型pd.to_datetime(data)将非日期类型转换为 datetime 类型pd.to_timedelta(data)将非 timedelta 类型转换为 timedeltadf.astype(type)将数据转换为几乎任意给定类型包括 categoricaldf.infer_objects()尝试为 object 类型数据推断出更合适的类型df.convert_dtypes()将各列转换为尽可能好的 dtype七、日期时间组件提取Datetime对含 datetime 数据的 Series使用dt访问器提取各分量PPT 第二页给出 7 个示例代码作用s.dt.year提取年份s.dt.month提取月份整数s.dt.day提取日整数s.dt.quarter该日期所在的季度s.dt.hour提取小时s.dt.minute提取分钟s.dt.second提取秒八、映射Mappingmap 与 apply速查表强调两者都是“把映射应用到 DataFrame/Series 的每个元素上适合重新归类或变换数据”s.map(lambda x: 2 * x) # 返回 Series 的副本其中每个元素都变为原来的 2 倍 df.apply(lambda s: s.max() - s.min(), axis1) # 返回一个 Series值为 DataFrame 每一行的最大值与最小值之差九、Series 字符串操作str 访问器“与 Python 字符串方法相似但它们是向量化的能高效地作用于整个 Series”PPT 原话代码作用s.str.count(pattern)返回每个元素中匹配计数的整数 Seriess.str.get(index)返回每个元素在给定索引处的数据s.str.join(sep)返回每个元素被拼接后的 Seriess.str.title()将每个单词的首字母大写s.str.len()返回每个元素长度的 Seriess.str.cat()将元素拼接为一个字符串s.str.partition(sep)在分隔符第一次出现处拆分字符串s.str.slice(start, stop, step)对每个字符串切片s.str.replace(pat, rep)用正则替换每个字符串中的模式s.str.isalnum()检查每个元素是否全是字母数字十、全局选项Options五个函数与 display.* 配置速查表把 pandas 的“全局行为控制”列为独立一节pandas 提供若干 option用于全局控制其行为、显示等选项可通过pd.options.option_name查询和设置例如pd.options.display.max_rows 20 # 将 display.max_rows 设为 20选项管理五函数PPT 第三页“Functions”小节代码作用get_option(option)获取指定选项的值set_option(option)设置指定选项的值reset_option(options)将所给选项重置为默认值describe_option(options)打印所给选项的描述option_context(options)在临时选项设置下执行代码执行完毕后自动还原常用显示选项PPT“Frequently Used Options”小节的完整清单选项含义display.max_rows美观打印时显示的最大行数display.max_columns美观打印时显示的最大列数display.expand_frame_repr控制 DataFrame 表示是否跨页展开display.large_repr控制超过最大行/列数的 DataFrame 是被截断truncated还是摘要显示summarizeddisplay.precision输出显示的小数精度display.max_colwidth列的最大宽度超长的单元格会被截断display.max_info_columns调用info()后显示的最大列数display.chop_threshold显示 Series/DataFrame 时把接近零的值舍入为零的阈值display.colheader_justify控制列标题的对齐方式源码佐证上述display.*选项在 pandas/_config/display.py 中通过cf.register_option(...)逐一注册文件以with cf.config_prefix(display):组织选项查询/设置/临时上下文的机制实现于 pandas/_config/config.py其中option_context定义见 config.py。因此pd.options.display.max_rows 20本质是向该注册表写入值而option_context可作为上下文管理器在代码块内临时改值、出块即还原。十一、绘图Plottingdf.plot 家族PPT 第三页将绘图分为“基础图型”与“参数调整”两组基础图型代码作用df.plot()为 DataFrame 绘制折线图df.plot.scatter(xw, yh)散点图df.plot.hist()直方图df.plot.pie()饼图df.plot.bar()柱状图df.plot.boxplot()箱线图df.plot.area()面积图df.plot.hexbin()六边形分箱图hexbin常用参数代码作用df.plot(subplotsTrue)每个列绘制到独立的子图df.plot(titleGraph of A against B)设置图标题df.plot(stackedTrue)将各列数据堆叠仅 bar、barh、area 有效df.plot(alpha0.5)透明度设为 50%df.plot(cumulativeTrue)生成累积图df.plot(bins30)设置直方图的分组箱数PPT 还特别强调参数可组合例如对 3 列 DataFrame 各画一条独立折线并分别设标题df.plot(subplotsTrue, title[col1, col2, col3]) # 标题列表中第一个字符串对应最左侧第一列的图十二、输入/输出Input/Output速查表给出的读写对照如下代码作用df pd.read_csv(filepath)从 CSV 文件读入df pd.read_html(filepath)从 HTML 文件读入df pd.read_excel(filepath)从 xls及相关格式文件读入df pd.read_sql(filepath)从 SQL 读入pd.read_clipboard()从系统剪贴板读入文本df.to_parquet(filepath)写出为 Parquet 文件df.to_feather(filepath)写出为 Feather 文件df.to_hdf(filepath)写出为 HDF 文件df.to_clipboard()把对象复制到系统剪贴板PPT 对输入输出做了重要区分常见的输入格式CSV、JSON、HTML偏人类可读常见的输出格式feather、parquet、HDF则更偏向性能与可扩展性的优化。这些read_*/to_*的实现在 pandas/io/ 目录下按格式分文件组织如 pandas/io/parsers/ 处理 CSV 解析、pandas/io/parquet.py、pandas/io/pytables.py 等可作为深入阅读的入口。使用建议与延伸阅读打印随身查按 doc/cheatsheet/README.md 的说法直接用 Pandas_Cheat_Sheet.pptx 打开后可“另存为 PDF”重新排版打印三个语言版本中英文版内容最全需要最全条目时以英文版为准进阶README 提到 DataCamp 维护的 Pandas Cheat Sheet 提供 PDF / Google Colab / Streamlit 三种形态可作为交互式补充README 附有对应入口本文不转载外链深入源码本文各节引用的实现落点——melt/pivot/concat在 pandas/core/reshape/选项注册在 pandas/_config/display.py 与 pandas/_config/config.pyI/O 在 pandas/io/——配合 doc/source/user_guide/ 下的官方用户指南可以把速查表上的一条命令展开成完整的手册式讲解。【免费下载链接】pandasFlexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more项目地址: https://gitcode.com/gh_mirrors/pa/pandas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/18 20:13:00

EGM96模型校正DEM高程基准:从原理到实操的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 21:13:03

球面邻域匹配度:量化打车难的时空诊断模型

简介:本资源是一份面向数学建模初学者与竞赛参与者的实战型分析报告,聚焦“互联网”背景下城市出租车资源配置优化这一典型交通管理问题,旨在通过数据建模解决“打车难”这一现实痛点。报告基于2015年成都真实时空数据,构建了以“…

2026/9/18 21:13:03

变压器绕组变形试验详解:从FRA曲线到Python量化诊断

简介:变压器绕组变形试验培训PPT课件是一份面向变电检修、运维及电气试验人员的专业培训资源,针对110kV及以上电力变压器绕组变形检测方法进行了系统梳理。包内共1个PPT,单份课件体积仅707KB,方便直接下载使用。课件共37页&#x…

2026/9/18 21:13:03

RAG系统工程实战:从检索增强到可信可溯的生产级落地

1. 这不是“加个检索”那么简单:RAG早已脱离玩具阶段,进入系统工程深水区你搜“RAG实战”,刷出来的90%内容还在教你怎么用LangChain加载PDF、调个OpenAI API、跑通一个能回答“公司年报里提到多少次‘数字化转型’”的demo。这就像十年前教人…

2026/9/18 21:13:03

中国地面气候日值数据集V3.0处理指南:缺测值与格式陷阱详解

干过中国地面气候日值数据集(V3.0)的人,多少都经历过这种崩溃瞬间:明明从数据网下载了标准化产品,跑出来的气温曲线却直接飙到三千多摄氏度,降水序列里无缘无故出现一条四位数毫米的“极端暴雨”。我最早处理这批数据的时候&#…

2026/9/18 21:08:03

企业数智库建设:四层数据链路、KPI规则与知识图谱落地

简介:面向企业高层管理者、技术负责人与数字化项目骨干的《企业数智库建设指南》PDF文档,聚焦知识驱动的智能交互如何提升运营效率与决策科学性。内容从数智库内核与实现路径切入,梳理信息化提供客观数据、数字化构建实时业务模型、智能化借助…

2026/9/18 14:13:01

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/18 0:01:09

Google Colab 实战:运行模型、数据加载与报错排查

1. 为什么我劝你先搞懂 Colab 的运行模型1.1 Colab 到底是什么,跟本地跑代码差在哪Google Colab 简单说就是一台跑在浏览器里的 Linux 虚拟机,你打开一个 Notebook,背后就连上了一台带 GPU 的远程机器。你在单元格里敲的每一行 Python&#x…

2026/9/18 0:01:09

C语言数据类型与表达式详解

1. C语言数据与数据类型概述在C语言编程中,数据是程序处理的核心对象。理解数据的分类和特性是掌握C语言的基础。C语言中的数据主要分为四大类:常量、变量、表达式和函数。这些数据类型构成了C语言程序的基本元素,每种类型都有其独特的特性和…

2026/9/18 0:01:09

SQL时间字段指定时间段查询:区间语义、索引与时区避坑

上周排查一个线上问题&#xff0c;用户反馈"昨天的订单一条都没查到"&#xff0c;但数据库里明明躺着两千多条。最后定位下来&#xff0c;不是数据丢了&#xff0c;也不是接口挂了&#xff0c;而是那个查询条件把时间段写成了> 2024-05-20 00:00:00 AND < 2024…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码