<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>DEVCN开发</title><link>https://devcn.cn/</link><description>Good Luck To You!</description><item><title>企业数字化转型的最后一公里：当业务人员能读懂代码</title><link>https://devcn.cn/p48.html</link><description>&lt;p&gt;# 企业数字化转型的最后一公里：当业务人员能读懂代码&lt;/p&gt;&lt;p&gt;## 转型为什么总是停在「最后一公里」&lt;/p&gt;&lt;p&gt;过去十年，几乎所有企业都在谈数字化转型。云原生、中台、数据治理、低代码平台、AI 中台——概念换了一轮又一轮，预算花了一波又一波，但很多企业的真实体感是：系统建了一堆，报表做了一堆，业务流程却依然没有真正敏捷起来。&lt;/p&gt;&lt;p&gt;问题出在哪里？&lt;/p&gt;&lt;p&gt;观察那些转型成效显著的企业，会发现一个共同特征：业务部门与 IT 部门之间的协作摩擦显著低于行业平均水平。而那些转型陷入泥潭的企业，几乎都在同一个地方卡住——业务人员提需求，IT 人员写代码，中间隔着一道看不见但真实存在的翻译层。需求从业务语言翻译成技术语言，再从技术语言翻译成代码，每一次翻译都会损耗、变形、延迟。&lt;/p&gt;&lt;p&gt;这道翻译层，就是数字化转型的「最后一公里」。&lt;/p&gt;&lt;p&gt;## 翻译层的代价，比想象的更高&lt;/p&gt;&lt;p&gt;翻译层的代价不是简单的「沟通成本」，而是一连串连锁反应。&lt;/p&gt;&lt;p&gt;**第一层代价是需求失真。** 一位运营主管说「我要按区域看各品类的环比」，这句话在他的语境里信息密度极高——区域是哪些区域、品类是哪些品类、环比的口径是什么、要不要剔除促销月份。但当这句话经过产品经理整理、经过评审会确认、最终落到开发手里时，往往已经变成了一份 PRD 文档。文档忠实记录了字面意思，却丢失了语境。开发按文档实现，业务验收时才发现「这不是我要的」。&lt;/p&gt;&lt;p&gt;**第二层代价是响应延迟。** 一个看似简单的报表调整需求，从提出到上线，快的两周，慢的两个月。这期间业务窗口可能已经关闭。很多企业花大价钱建了数据中台，却发现中台的响应速度赶不上业务变化的速度，最终业务部门又退回到 Excel 手工处理的舒适区。&lt;/p&gt;&lt;p&gt;**第三层代价是创新抑制。** 当业务人员每次有新想法都需要排队等 IT 排期时，他们会本能地减少提出新想法的频率。久而久之，数据资产沉淀在系统里，却没有人去挖掘它的价值。数字化转型的初衷是让数据驱动决策，但翻译层的存在让「驱动」变成了「等待」。&lt;/p&gt;&lt;p&gt;## 低代码没有真正解决这个问题&lt;/p&gt;&lt;p&gt;低代码平台是行业给出的主流答案。它的承诺是「让业务人员通过拖拽配置就能搭建应用」。这个承诺在表单类、流程类的简单场景里成立，但一旦遇到稍复杂的业务逻辑，低代码平台就会暴露它的天花板。&lt;/p&gt;&lt;p&gt;原因很简单：业务逻辑的复杂度不会因为表达方式的改变而消失。拖拽配置本质上是一种受限的编程，它用图形化的方式封装了有限的逻辑模式。当业务需求超出这些预设模式时，用户要么被迫简化需求，要么重新求助于 IT 写代码。低代码平台解决的是「简单需求的快速交付」，而不是「业务人员对复杂逻辑的表达权」。&lt;/p&gt;&lt;p&gt;更深一层的问题是，低代码平台生成的应用，业务人员依然读不懂它的内部实现。配置出来的流程像一个黑盒，业务人员知道「我配了什么」，但不知道「它实际做了什么」。当出现 bug 或边界情况时，排查依然要回到 IT。低代码缩短了交付路径，却没有真正打通业务与代码之间的认知鸿沟。&lt;/p&gt;&lt;p&gt;## 真正的打通，是让业务人员读懂代码&lt;/p&gt;&lt;p&gt;如果我们承认低代码不是终点，那么「最后一公里」的解法是什么？&lt;/p&gt;&lt;p&gt;一个被低估的方向是：让业务人员能够读懂、甚至能够修改代码。这里的关键词是「读懂」而非「会写」。一个运营主管不需要从零写出一段数据库查询，但如果他能在 IT 交付的代码中读懂「这段在按区域分组、这段在算环比、这段在过滤促销」，他就具备了与 IT 平等对话的能力。需求失真会大幅减少，因为他能在代码层面验证实现是否符合本意。&lt;/p&gt;&lt;p&gt;让业务人员读懂代码，最直接的路径是让代码本身使用业务语言。而业务语言，在中文企业里就是中文。&lt;/p&gt;&lt;p&gt;这不是一个浪漫化的设想。当我们把一段数据处理代码写成：&lt;/p&gt;&lt;p&gt;```python&lt;/p&gt;&lt;p&gt;设 销售数据 = 表格.读取Excel(&amp;quot;2024年销售明细.xlsx&amp;quot;)&lt;/p&gt;&lt;p&gt;设 按区域统计 = 表格.分组聚合(销售数据, &amp;quot;区域&amp;quot;, {&amp;quot;销售额&amp;quot;: &amp;quot;求和&amp;quot;, &amp;quot;订单数&amp;quot;: &amp;quot;计数&amp;quot;})&lt;/p&gt;&lt;p&gt;设 环比结果 = 经营分析.同比环比(按区域统计, 周期=&amp;quot;月&amp;quot;)&lt;/p&gt;&lt;p&gt;经营分析.生成看板数据(环比结果, 输出路径=&amp;quot;区域销售看板.json&amp;quot;)&lt;/p&gt;&lt;p&gt;```&lt;/p&gt;&lt;p&gt;一位有业务背景但不会 Python 的运营主管，能凭借业务常识读懂这段代码的意图：读取销售明细、按区域聚合、算月环比、生成看板。他可能不理解 `分组聚合` 内部如何实现，但他理解这段代码「在做什么」——而这正是消除翻译层所必需的最小共识。&lt;/p&gt;&lt;p&gt;## 当代码使用业务语言，协作模式会发生质变&lt;/p&gt;&lt;p&gt;一旦代码与业务语言对齐，业务与 IT 的协作模式会出现几个质变。&lt;/p&gt;&lt;p&gt;**需求评审可以基于代码进行。** IT 在交付前可以用伪代码或真实代码向业务方说明实现思路，业务方能够即时发现理解偏差。这比基于 PRD 文档的评审高效得多，因为代码是确定的，而文档天然存在歧义。&lt;/p&gt;&lt;p&gt;**业务人员可以提出精确的修改意见。** 当业务方说「把环比改成同比」时，他能指向代码里的 `同比环比(周期=&amp;quot;月&amp;quot;)`，明确说出「改成 `同比`」。这种精确性让小范围调整不再需要走完整的需求-开发-测试流程，IT 的排期压力随之下降。&lt;/p&gt;&lt;p&gt;**边界案例的归属变得清晰。** 很多争议源于「这个边界情况该业务方在配置层处理，还是该 IT 在代码层处理」。当代码可读时，业务方能判断哪些边界自己能改、哪些需要 IT 介入，避免把所有问题都推给 IT。&lt;/p&gt;&lt;p&gt;这些质变叠加起来，就是「最后一公里」被打通后的样子：翻译层没有消失，但它的厚度被压缩到了几乎可以忽略。&lt;/p&gt;&lt;p&gt;## 一个值得观察的实践&lt;/p&gt;&lt;p&gt;市场上已经出现了一些沿这个方向探索的实践。例如前文提到的「中文 Python」项目，它的企业能力模块把经营分析、ETL、权限系统、数据库中间件、一键部署等高频企业场景做成了中文 API。这些 API 的命名直接对应业务概念——`生成看板数据`、`受控执行SQL`、`创建RBAC配置`、`添加角色`、`记录审计`——而不是技术概念。&lt;/p&gt;&lt;p&gt;这种命名策略背后的判断是：企业数字化的瓶颈不在技术能力，而在业务与技术的对齐效率。当 API 的语义与业务语言一致时，业务人员读懂代码的门槛被降到最低，IT 与业务的协作摩擦也随之下降。&lt;/p&gt;&lt;p&gt;值得注意的是，这类方案并没有试图替代现有的技术架构。它依然运行在 Python 之上，依然连接 MySQL、PostgreSQL、Redis，依然部署在 Docker 和 Kubernetes 里。它改变的只是「人如何向系统表达意图」这一层。这种克制的边界感，恰恰是它能进入真实企业环境的前提——它不要求企业重构现有系统，只要求企业在表达层换一种语言。&lt;/p&gt;&lt;p&gt;## 不是银弹，但值得被纳入工具箱&lt;/p&gt;&lt;p&gt;需要诚实地说，让业务人员读懂代码并不是数字化的银弹。它解决的是协作效率问题，不解决战略方向问题、数据质量问题、组织流程问题。一家数据治理基础薄弱的企业，即便用上中文代码，也无法凭空产生高质量的数据资产。&lt;/p&gt;&lt;p&gt;但对于那些已经建好了数据基础设施、却苦于业务与技术协作摩擦的企业，这是一条值得纳入工具箱的路径。它的投入相对有限——不需要重构系统、不需要替换技术栈、不需要重新培训 IT——但回报可能超出预期：业务人员重新获得了对系统行为的理解权，IT 从需求翻译中解脱出来专注于架构本身，而那些被翻译层抑制的小创新，会重新流动起来。&lt;/p&gt;&lt;p&gt;数字化转型的最后一公里，本质上不是技术问题，是语言问题。当代码开始说业务的语言，这一公里才算真正走完。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 15:32:29 +0800</pubDate></item><item><title>认知负荷的边界：为什么中文编程不是一个伪命题</title><link>https://devcn.cn/p47.html</link><description>&lt;p&gt;# 认知负荷的边界：为什么中文编程不是一个伪命题&lt;br/&gt;&lt;/p&gt;&lt;p&gt;## 一个被反复提出的问题&lt;/p&gt;&lt;p&gt;每隔几年，技术社区就会围绕「中文编程」展开一轮争论。支持者认为它降低了入门门槛，反对者则搬出「关键字只是几十个英文单词」「真正难的是算法不是语法」之类的论据。争论往往在情绪中收场，留下一个悬而未决的问题：中文编程到底是在解决真问题，还是在制造一个伪命题？&lt;/p&gt;&lt;p&gt;这个问题的答案，取决于你从哪个层面去理解「编程」这件事。&lt;/p&gt;&lt;p&gt;## 编程语言本质上是思维的工具&lt;/p&gt;&lt;p&gt;把编程语言还原到最朴素的层面，它是一套让人类向机器表达逻辑的符号系统。这套符号系统承担两个功能：一是被人脑理解和构造，二是被编译器或解释器解析和执行。&lt;/p&gt;&lt;p&gt;前者属于认知科学的范畴，后者属于计算机科学。过去几十年的讨论，几乎全部集中在后者——如何让机器更高效地理解人类，于是有了从机器码到汇编、从 C 到 Python 的抽象层级跃迁。但前者的演进却很少被严肃对待：如何让人脑更高效地构造逻辑。&lt;/p&gt;&lt;p&gt;这不是一个无足轻重的问题。人脑在构造逻辑时，依赖的是自然语言思维。当符号系统与母语思维不一致时，大脑需要额外完成一次「翻译」。这层翻译的代价，就是认知负荷。&lt;/p&gt;&lt;p&gt;## 母语思维与外语思维的代价差&lt;/p&gt;&lt;p&gt;认知语言学有一个被广泛验证的结论：人在使用非母语进行复杂推理时，工作记忆的可用容量会下降。这种现象被称为「外语效应（Foreign Language Effect）」。它的影响在简单任务上几乎不可察觉，但在需要同时维护多个变量、追踪嵌套结构、进行抽象推理的任务上，差异会被放大。&lt;/p&gt;&lt;p&gt;编程恰恰是这样一类任务。一段中等复杂度的代码，往往要求开发者同时记住变量的生命周期、控制流的嵌套层级、函数的副作用边界。当这些信息以非母语的符号承载时，工作记忆中被「翻译开销」占据的部分，就不再可用于真正的逻辑推理。&lt;/p&gt;&lt;p&gt;这就是为什么很多非英语母语的开发者在写算法时，会下意识地在脑中用母语默念逻辑，再翻译成代码。这个翻译过程如此自动化，以至于当事人很少意识到它的存在——但它确实消耗了认知资源。&lt;/p&gt;&lt;p&gt;反对者常说的「关键字只有几十个英文单词」，忽略了认知负荷并非来自关键字本身，而是来自整个符号系统与思维系统的错位。变量命名、函数语义、注释与代码的对应关系，都在持续触发这种翻译。&lt;/p&gt;&lt;p&gt;## 那为什么以前的中文编程没有真正普及？&lt;/p&gt;&lt;p&gt;如果母语思维的认知效率优势是真实的，为什么过去几十年里中文编程的尝试——从早期的中文编程语言到各种方言变体——始终停留在小众范围？&lt;/p&gt;&lt;p&gt;答案藏在一个常被忽视的前提里：一门编程语言的价值，不取决于它的语法是否友好，而取决于它背后的生态厚度。Python 之所以能成为今天最受欢迎的语言之一，不是因为它的语法最优雅，而是因为它背后站着 NumPy、Pandas、Django、FastAPI，以及数以万计的第三方库和几千万开发者的集体智慧。&lt;/p&gt;&lt;p&gt;早期中文编程的困境正在于此：它们试图从零构建一门全新的语言，也就不得不从零构建一个全新的生态。这是一场注定失败的豪赌——没有任何团队能够凭一己之力复制 Python 或 Java 几十年积累的库生态。当用户发现「中文语法很舒服，但找不到能用的库」时，迁移的代价立刻压过了语法带来的收益。&lt;/p&gt;&lt;p&gt;所以真正的问题不是「要不要做中文编程」，而是「在哪个基础上做中文编程」。&lt;/p&gt;&lt;p&gt;## 一个被低估的路径：不造语言，只做封装&lt;/p&gt;&lt;p&gt;近两年开始出现一种不同的思路：不另起一门孤立的语言，而是在成熟的通用语言之上，做一层中文语法的薄封装。底层仍然运行原生解释器和原生生态，上层提供中文关键字、中文函数名、中文标点的表达方式。&lt;/p&gt;&lt;p&gt;这种做法的代价是显而易见的——它不是一门「纯粹」的新语言，它的中文表达力受限于底层语言的能力模型。但它的收益却恰恰击中了过去中文编程失败的要害：用户在享受中文思维的同时，完整保留了底层生态的全部能力。当需要 NumPy 时调用的是真正的 NumPy，当需要 Django 时调用的是真正的 Django，没有重新实现，没有功能阉割。&lt;/p&gt;&lt;p&gt;以一个名为「中文 Python」的开源项目为例，它采用了「中文源码 → 转换器 → Python 源码 → 原生解释器」的链路。上层是 30 多个中文关键字和中文标点，底层是 144 个覆盖数据科学、Web 开发、数据库、工业控制、机器视觉等领域的生态模块，公开导出超过 9100 项。这个数字本身就说明了一个事实：它没有在生态上做任何妥协。&lt;/p&gt;&lt;p&gt;更值得注意的细节是，它的核心转换器仅依赖 Python 标准库，零额外依赖。这意味着用户安装的瞬间就能获得完整的中文表达能力，而不需要先解决依赖地狱。这种「轻量到几乎透明」的设计哲学，恰恰是过去重造语言路线所不具备的。&lt;/p&gt;&lt;p&gt;## 认知负荷的真实场景&lt;/p&gt;&lt;p&gt;让我们把抽象的「认知负荷」还原到一个具体场景。&lt;/p&gt;&lt;p&gt;一位仓库管理员，从未学过编程，但他每天都在用 Excel 处理进销存数据。他想写一段脚本自动汇总各仓库的库存周转率。如果用 Python，他需要先理解 `import`、`def`、`for`、`if` 这些关键字，再理解 `pandas.DataFrame.groupby` 这种英文函数名，最后还要处理字符串里的英文引号和括号。每一层都是一次小小的认知中断。&lt;/p&gt;&lt;p&gt;而同样的逻辑，用中文语法表达：&lt;/p&gt;&lt;p&gt;```python&lt;/p&gt;&lt;p&gt;设 库存数据 = 表格.读取Excel(&amp;amp;quot;库存.xlsx&amp;amp;quot;)&lt;/p&gt;&lt;p&gt;设 周转统计 = 表格.分组聚合(库存数据, &amp;amp;quot;仓库&amp;amp;quot;, {&amp;amp;quot;数量&amp;amp;quot;: &amp;amp;quot;求和&amp;amp;quot;, &amp;amp;quot;金额&amp;amp;quot;: &amp;amp;quot;平均&amp;amp;quot;})&lt;/p&gt;&lt;p&gt;表格.保存Excel(周转统计, &amp;amp;quot;周转汇总.xlsx&amp;amp;quot;)&lt;/p&gt;&lt;p&gt;```&lt;/p&gt;&lt;p&gt;这段代码的语义，对一位有业务背景但无编程背景的人而言，几乎是自解释的。`设`、`分组聚合`、`求和`、`平均` 这些词与他日常工作的语言完全一致。他不需要在脑中完成「groupby 就是分组聚合」的翻译，也不需要记住 `DataFrame` 这个与业务无关的类型名。&lt;/p&gt;&lt;p&gt;这不是「让不会编程的人假装会编程」，而是「让懂业务的人把业务逻辑直接表达出来」。这两者之间有本质区别。前者是一种降级，后者是一种解放。&lt;/p&gt;&lt;p&gt;## 中文编程真正成立的三个条件&lt;/p&gt;&lt;p&gt;回过头看，中文编程要真正成立，需要同时满足三个条件：&lt;/p&gt;&lt;p&gt;**第一，生态不能妥协。** 这是过去失败的根源。任何要求用户放弃成熟生态的方案，都会在实用性面前崩塌。中文封装之所以可行，正是因为它把生态留在了底层。&lt;/p&gt;&lt;p&gt;**第二，转换必须无损。** 如果中文语法只能表达 Python 的一个子集，或者转换过程中会丢失语义，那么它的价值就会被「边界情况」侵蚀。一个负责任的实现，需要做到中文源码与 Python 源码在语义上完全等价，并且对字符串、注释、f-string 这些容易出错的边界有明确处理规则。前述项目用「词元引擎 + AST 语义引擎」的双引擎架构来处理这个问题，并用 112 个声明式语料案例做回归保障，这种工程严谨度是早期中文编程方案所不具备的。&lt;/p&gt;&lt;p&gt;**第三，工具链必须完整。** 语法只是入口，真正的开发体验由工具链决定。语法高亮、智能补全、调试器、文档生成——这些「看不见的基础设施」决定了用户是否会留下来。如果一个中文编程方案连 VS Code 的语法高亮都不支持，它就只能停留在玩具阶段。&lt;/p&gt;&lt;p&gt;当这三个条件同时满足时，中文编程就不再是「能不能做」的问题，而是「谁来做、做到什么程度」的问题。&lt;/p&gt;&lt;p&gt;## 结语&lt;/p&gt;&lt;p&gt;回到最初的问题：中文编程是不是伪命题？&lt;/p&gt;&lt;p&gt;如果把它理解成「从零造一门中文语言并替代 Python」，那它确实是伪命题，因为这个目标与生态规律相悖。但如果把它理解成「在成熟的通用语言之上，为中文母语者提供一层符合认知习惯的表达方式」，那它就是一个真实且有价值的问题——而且今天已经有了可验证的答案。&lt;/p&gt;&lt;p&gt;认知负荷不是一个文学化的比喻，它是可测量的、会累积的、会决定一个人能否坚持学下去的真实成本。当一项技术能够把这部分成本归还给用户时，它的价值就不需要靠口号来证明。&lt;/p&gt;&lt;p&gt;中文编程的争议终会过去，但「让人用母语思考逻辑」这件事，会以某种形式留下来。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 15:27:57 +0800</pubDate></item><item><title>中文Python的Pandas的 SQLite 读写</title><link>https://devcn.cn/p46.html</link><description>&lt;p&gt;中文版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;设&amp;nbsp;数据库连接&amp;nbsp;=&amp;nbsp;数据库.连接SQLite(&amp;quot;./data/销售教程.db&amp;quot;)
表格.保存SQL(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;表格.前几行(CSV数据,&amp;nbsp;20),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;销售订单&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;数据库连接,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;如果存在=&amp;quot;replace&amp;quot;,
)
设&amp;nbsp;SQL数据&amp;nbsp;=&amp;nbsp;表格.读取SQL(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;SELECT&amp;nbsp;产品类别,&amp;nbsp;SUM(销售额)&amp;nbsp;AS&amp;nbsp;销售额&amp;nbsp;FROM&amp;nbsp;销售订单&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;产品类别&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;数据库连接,
)
数据库.关闭(数据库连接)
打印(&amp;quot;SQLite&amp;nbsp;汇总：&amp;quot;,&amp;nbsp;SQL数据)&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;import&amp;nbsp;sqlite3

数据库连接&amp;nbsp;=&amp;nbsp;sqlite3.connect(数据目录&amp;nbsp;/&amp;nbsp;&amp;quot;销售教程.db&amp;quot;)
CSV数据.head(20).to_sql(&amp;quot;销售订单&amp;quot;,&amp;nbsp;数据库连接,&amp;nbsp;if_exists=&amp;quot;replace&amp;quot;,&amp;nbsp;index=False)
SQL数据&amp;nbsp;=&amp;nbsp;pd.read_sql(
&amp;quot;SELECT&amp;nbsp;产品类别,&amp;nbsp;SUM(销售额)&amp;nbsp;AS&amp;nbsp;销售额&amp;nbsp;FROM&amp;nbsp;销售订单&amp;nbsp;GROUP&amp;nbsp;BY&amp;nbsp;产品类别&amp;quot;,
数据库连接,
)
数据库连接.close()
print(&amp;quot;SQLite&amp;nbsp;汇总：&amp;quot;,&amp;nbsp;SQL数据)

print(&amp;quot;Pandas&amp;nbsp;Python&amp;nbsp;进阶教程执行完成。&amp;quot;)&lt;/pre&gt;&lt;p&gt;打印信息&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;SQLite&amp;nbsp;汇总：&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;产品类别&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;销售额
0&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;&amp;nbsp;52667
1&amp;nbsp;&amp;nbsp;电子产品&amp;nbsp;&amp;nbsp;155273
2&amp;nbsp;&amp;nbsp;电脑配件&amp;nbsp;&amp;nbsp;&amp;nbsp;25105
Pandas&amp;nbsp;Python&amp;nbsp;进阶教程执行完成。&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:57:14 +0800</pubDate></item><item><title>中文Python的Pandas的 DataFrame 绘图并保存</title><link>https://devcn.cn/p45.html</link><description>&lt;p&gt;中文版Pandas&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;设&amp;nbsp;图表轴&amp;nbsp;=&amp;nbsp;表格.表格绘图(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;类别销售汇总,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;横轴=&amp;quot;产品类别&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;纵轴=&amp;quot;销售额&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;图表类型=&amp;quot;柱状图&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;标题=&amp;quot;产品类别销售额&amp;quot;,
)
设&amp;nbsp;图形&amp;nbsp;=&amp;nbsp;表格.获取图形(图表轴)
表格.紧凑布局(图形)
表格.保存图形(图形,&amp;nbsp;&amp;quot;./data/产品类别销售额.png&amp;quot;)
打印(&amp;quot;销售图表已导出。&amp;quot;)&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;图表轴&amp;nbsp;=&amp;nbsp;类别销售汇总.plot(
x=&amp;quot;产品类别&amp;quot;,&amp;nbsp;y=&amp;quot;销售额&amp;quot;,&amp;nbsp;kind=&amp;quot;bar&amp;quot;,&amp;nbsp;title=&amp;quot;产品类别销售额&amp;quot;
)
图形&amp;nbsp;=&amp;nbsp;图表轴.get_figure()
图形.tight_layout()
图形.savefig(数据目录&amp;nbsp;/&amp;nbsp;&amp;quot;产品类别销售额.png&amp;quot;)
print(&amp;quot;销售图表已导出。&amp;quot;)&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:54:44 +0800</pubDate></item><item><title>中文Python的Pandas的 样式表导出为 HTML</title><link>https://devcn.cn/p44.html</link><description>&lt;p&gt;中文版Pandas&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;设&amp;nbsp;样式数据&amp;nbsp;=&amp;nbsp;表格.前几行(表格.选择列(CSV数据,&amp;nbsp;[&amp;quot;产品名称&amp;quot;,&amp;nbsp;&amp;quot;销售额&amp;quot;]),&amp;nbsp;10)
设&amp;nbsp;高亮样式&amp;nbsp;=&amp;nbsp;表格.高亮最大值(样式数据,&amp;nbsp;&amp;quot;销售额&amp;quot;)
设&amp;nbsp;样式HTML&amp;nbsp;=&amp;nbsp;高亮样式.to_html()
设&amp;nbsp;pathlib&amp;nbsp;=&amp;nbsp;求值(&amp;quot;__import__(&amp;#39;pathlib&amp;#39;)&amp;quot;)
pathlib.Path(&amp;quot;./data/销售额高亮表格.html&amp;quot;).write_text(样式HTML,&amp;nbsp;encoding=&amp;quot;utf-8&amp;quot;)
打印(&amp;quot;样式&amp;nbsp;HTML&amp;nbsp;已导出。&amp;quot;)&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;样式数据&amp;nbsp;=&amp;nbsp;CSV数据[[&amp;quot;产品名称&amp;quot;,&amp;nbsp;&amp;quot;销售额&amp;quot;]].head(10)
高亮样式&amp;nbsp;=&amp;nbsp;样式数据.style.highlight_max(subset=[&amp;quot;销售额&amp;quot;])
(数据目录&amp;nbsp;/&amp;nbsp;&amp;quot;销售额高亮表格.html&amp;quot;).write_text(高亮样式.to_html(),&amp;nbsp;encoding=&amp;quot;utf-8&amp;quot;)
print(&amp;quot;样式&amp;nbsp;HTML&amp;nbsp;已导出。&amp;quot;)&lt;/pre&gt;&lt;p&gt;打印信息&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;样式&amp;nbsp;HTML&amp;nbsp;已导出。&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:53:12 +0800</pubDate></item><item><title>中文Python的Pandas的 分类数据及编码</title><link>https://devcn.cn/p43.html</link><description>&lt;p&gt;中文版Pandas&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;设&amp;nbsp;产品分类&amp;nbsp;=&amp;nbsp;表格.分类数据(CSV数据,&amp;nbsp;&amp;quot;产品类别&amp;quot;)
CSV数据[&amp;quot;分类代码&amp;quot;]&amp;nbsp;=&amp;nbsp;产品分类.cat.codes
打印(&amp;quot;分类列表：&amp;quot;,&amp;nbsp;产品分类.cat.categories)
打印(&amp;quot;分类代码：&amp;quot;,&amp;nbsp;表格.前几行(CSV数据[[&amp;quot;产品类别&amp;quot;,&amp;nbsp;&amp;quot;分类代码&amp;quot;]],&amp;nbsp;10))&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;产品分类&amp;nbsp;=&amp;nbsp;CSV数据[&amp;quot;产品类别&amp;quot;].astype(&amp;quot;category&amp;quot;)
CSV数据[&amp;quot;分类代码&amp;quot;]&amp;nbsp;=&amp;nbsp;产品分类.cat.codes
print(&amp;quot;分类列表：&amp;quot;,&amp;nbsp;产品分类.cat.categories)
print(&amp;quot;分类代码：&amp;quot;,&amp;nbsp;CSV数据[[&amp;quot;产品类别&amp;quot;,&amp;nbsp;&amp;quot;分类代码&amp;quot;]].head(10))&lt;/pre&gt;&lt;p&gt;打印信息&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;分类列表：&amp;nbsp;Index([&amp;#39;办公设备&amp;#39;,&amp;nbsp;&amp;#39;电子产品&amp;#39;,&amp;nbsp;&amp;#39;电脑配件&amp;#39;,&amp;nbsp;&amp;#39;网络设备&amp;#39;],&amp;nbsp;dtype=&amp;#39;str&amp;#39;)
分类代码：&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;产品类别&amp;nbsp;&amp;nbsp;分类代码
0&amp;nbsp;&amp;nbsp;电子产品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
1&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
2&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
3&amp;nbsp;&amp;nbsp;电脑配件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2
4&amp;nbsp;&amp;nbsp;电脑配件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2
5&amp;nbsp;&amp;nbsp;电子产品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
6&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
7&amp;nbsp;&amp;nbsp;电脑配件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2
8&amp;nbsp;&amp;nbsp;电子产品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
9&amp;nbsp;&amp;nbsp;电脑配件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:51:21 +0800</pubDate></item><item><title>中文Python的Pandas的 多级索引切片</title><link>https://devcn.cn/p42.html</link><description>&lt;p&gt;中文版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;设&amp;nbsp;分类产品索引&amp;nbsp;=&amp;nbsp;表格.设置多级索引(CSV数据,&amp;nbsp;[&amp;quot;产品类别&amp;quot;,&amp;nbsp;&amp;quot;产品名称&amp;quot;])
设&amp;nbsp;电子产品切片&amp;nbsp;=&amp;nbsp;表格.多级索引切片(分类产品索引,&amp;nbsp;&amp;quot;产品类别&amp;quot;,&amp;nbsp;&amp;quot;电子产品&amp;quot;)
打印(&amp;quot;多级索引中的电子产品：&amp;quot;,&amp;nbsp;表格.前几行(电子产品切片,&amp;nbsp;5))&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;分类产品索引&amp;nbsp;=&amp;nbsp;CSV数据.set_index([&amp;quot;产品类别&amp;quot;,&amp;nbsp;&amp;quot;产品名称&amp;quot;])
电子产品切片&amp;nbsp;=&amp;nbsp;分类产品索引.xs(&amp;quot;电子产品&amp;quot;,&amp;nbsp;level=&amp;quot;产品类别&amp;quot;)
print(&amp;quot;多级索引中的电子产品：&amp;quot;,&amp;nbsp;电子产品切片.head(5))&lt;/pre&gt;&lt;p&gt;打印信息&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;多级索引中的电子产品：&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;订单编号&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;销售日期&amp;nbsp;&amp;nbsp;销售数量&amp;nbsp;&amp;nbsp;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;七天后&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;三单滚动标准差&amp;nbsp;&amp;nbsp;&amp;nbsp;三单滚动总额
产品名称&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...
平板电脑&amp;nbsp;&amp;nbsp;&amp;nbsp;ORD202607270001&amp;nbsp;2026-06-02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;...&amp;nbsp;2026-06-09&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NaN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NaN
笔记本电脑&amp;nbsp;&amp;nbsp;ORD202607270006&amp;nbsp;2026-05-01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;...&amp;nbsp;2026-05-08&amp;nbsp;&amp;nbsp;32893.496454&amp;nbsp;&amp;nbsp;67656.0
无线耳机&amp;nbsp;&amp;nbsp;&amp;nbsp;ORD202607270009&amp;nbsp;2026-06-08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;...&amp;nbsp;2026-06-15&amp;nbsp;&amp;nbsp;&amp;nbsp;5677.552055&amp;nbsp;&amp;nbsp;22672.0
智能手表&amp;nbsp;&amp;nbsp;&amp;nbsp;ORD202607270012&amp;nbsp;2026-05-06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&amp;nbsp;&amp;nbsp;...&amp;nbsp;2026-05-13&amp;nbsp;&amp;nbsp;&amp;nbsp;9363.065897&amp;nbsp;&amp;nbsp;24081.0
笔记本电脑&amp;nbsp;&amp;nbsp;ORD202607270015&amp;nbsp;2026-06-20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;...&amp;nbsp;2026-06-27&amp;nbsp;&amp;nbsp;&amp;nbsp;4570.058971&amp;nbsp;&amp;nbsp;18336.0&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:49:47 +0800</pubDate></item><item><title>中文Python的Pandas的 堆叠和取消堆叠</title><link>https://devcn.cn/p41.html</link><description>&lt;p&gt;中文版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;设&amp;nbsp;简单透视&amp;nbsp;=&amp;nbsp;表格.交叉表(CSV数据,&amp;nbsp;&amp;quot;客户地区&amp;quot;,&amp;nbsp;&amp;quot;产品类别&amp;quot;)
设&amp;nbsp;堆叠结果&amp;nbsp;=&amp;nbsp;表格.堆叠(简单透视)
设&amp;nbsp;取消堆叠结果&amp;nbsp;=&amp;nbsp;表格.取消堆叠(堆叠结果)
打印(&amp;quot;堆叠结果：&amp;quot;,&amp;nbsp;表格.前几行(堆叠结果,&amp;nbsp;10))
打印(&amp;quot;取消堆叠结果：&amp;quot;,&amp;nbsp;取消堆叠结果)&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;简单透视&amp;nbsp;=&amp;nbsp;pd.crosstab(CSV数据[&amp;quot;客户地区&amp;quot;],&amp;nbsp;CSV数据[&amp;quot;产品类别&amp;quot;])
堆叠结果&amp;nbsp;=&amp;nbsp;简单透视.stack()
取消堆叠结果&amp;nbsp;=&amp;nbsp;堆叠结果.unstack()
print(&amp;quot;堆叠结果：&amp;quot;,&amp;nbsp;堆叠结果.head(10))
print(&amp;quot;取消堆叠结果：&amp;quot;,&amp;nbsp;取消堆叠结果)&lt;/pre&gt;&lt;p&gt;打印信息&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;堆叠结果：&amp;nbsp;客户地区&amp;nbsp;&amp;nbsp;产品类别
上海&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2
电子产品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5
电脑配件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
网络设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
北京&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
电子产品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
电脑配件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
网络设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3
南京&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
电子产品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3
dtype:&amp;nbsp;int64
取消堆叠结果：&amp;nbsp;产品类别&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;电子产品&amp;nbsp;&amp;nbsp;电脑配件&amp;nbsp;&amp;nbsp;网络设备
客户地区
上海&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
北京&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3
南京&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
天津&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
广州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
成都&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
杭州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2
武汉&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
深圳&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
苏州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
西安&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2
郑州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2
重庆&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
长沙&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
青岛&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:47:51 +0800</pubDate></item><item><title>中文Python的Pandas的 数据透视计数</title><link>https://devcn.cn/p40.html</link><description>&lt;p&gt;中文版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;设&amp;nbsp;地区类别计数&amp;nbsp;=&amp;nbsp;表格.数据透视计数(CSV数据,&amp;nbsp;&amp;quot;客户地区&amp;quot;,&amp;nbsp;&amp;quot;产品类别&amp;quot;,&amp;nbsp;合计=真)
打印(&amp;quot;地区类别计数：&amp;quot;,&amp;nbsp;地区类别计数)&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;地区类别计数&amp;nbsp;=&amp;nbsp;pd.crosstab(
CSV数据[&amp;quot;客户地区&amp;quot;],&amp;nbsp;CSV数据[&amp;quot;产品类别&amp;quot;],&amp;nbsp;margins=True,&amp;nbsp;margins_name=&amp;quot;合计&amp;quot;
).reset_index()
print(&amp;quot;地区类别计数：&amp;quot;,&amp;nbsp;地区类别计数)&lt;/pre&gt;&lt;p&gt;打印信息&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;地区类别计数：&amp;nbsp;产品类别&amp;nbsp;客户地区&amp;nbsp;&amp;nbsp;办公设备&amp;nbsp;&amp;nbsp;电子产品&amp;nbsp;&amp;nbsp;电脑配件&amp;nbsp;&amp;nbsp;网络设备&amp;nbsp;&amp;nbsp;&amp;nbsp;合计
0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;上海&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;北京&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6
2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;南京&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7
3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;天津&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7
4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;广州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6
5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;成都&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6
6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;杭州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7
7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;武汉&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9
8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;深圳&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8
9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;苏州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8
10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;西安&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9
11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;郑州&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6
12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;重庆&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;长沙&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7
14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;青岛&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5
15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;合计&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&amp;nbsp;&amp;nbsp;100&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:45:55 +0800</pubDate></item><item><title>中文Python的Pandas的 更多滚动窗口</title><link>https://devcn.cn/p39.html</link><description>&lt;p&gt;中文版Pandas&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;CSV数据[&amp;quot;三单滚动标准差&amp;quot;]&amp;nbsp;=&amp;nbsp;表格.滚动标准差(CSV数据,&amp;nbsp;&amp;quot;销售额&amp;quot;,&amp;nbsp;3)
CSV数据[&amp;quot;三单滚动总额&amp;quot;]&amp;nbsp;=&amp;nbsp;表格.滚动求和(CSV数据,&amp;nbsp;&amp;quot;销售额&amp;quot;,&amp;nbsp;3)
打印(&amp;quot;滚动标准差和总额：&amp;quot;,&amp;nbsp;表格.前几行(表格.选择列(CSV数据,&amp;nbsp;[&amp;quot;销售额&amp;quot;,&amp;nbsp;&amp;quot;三单滚动标准差&amp;quot;,&amp;nbsp;&amp;quot;三单滚动总额&amp;quot;]),&amp;nbsp;8))&lt;/pre&gt;&lt;p&gt;原版Pandas&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;CSV数据[&amp;quot;三单滚动标准差&amp;quot;]&amp;nbsp;=&amp;nbsp;CSV数据[&amp;quot;销售额&amp;quot;].rolling(3).std()
CSV数据[&amp;quot;三单滚动总额&amp;quot;]&amp;nbsp;=&amp;nbsp;CSV数据[&amp;quot;销售额&amp;quot;].rolling(3).sum()
print(&amp;quot;滚动标准差和总额：&amp;quot;,&amp;nbsp;CSV数据[[&amp;quot;销售额&amp;quot;,&amp;nbsp;&amp;quot;三单滚动标准差&amp;quot;,&amp;nbsp;&amp;quot;三单滚动总额&amp;quot;]].head(8))&lt;/pre&gt;&lt;p&gt;打印信息&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-powershell&quot;&gt;滚动标准差和总额：&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;销售额&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;三单滚动标准差&amp;nbsp;&amp;nbsp;&amp;nbsp;三单滚动总额
0&amp;nbsp;&amp;nbsp;25585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NaN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NaN
1&amp;nbsp;&amp;nbsp;&amp;nbsp;9135&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NaN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NaN
2&amp;nbsp;&amp;nbsp;19035&amp;nbsp;&amp;nbsp;&amp;nbsp;8281.656437&amp;nbsp;&amp;nbsp;53755.0
3&amp;nbsp;&amp;nbsp;&amp;nbsp;2844&amp;nbsp;&amp;nbsp;&amp;nbsp;8162.262370&amp;nbsp;&amp;nbsp;31014.0
4&amp;nbsp;&amp;nbsp;&amp;nbsp;4287&amp;nbsp;&amp;nbsp;&amp;nbsp;8960.415113&amp;nbsp;&amp;nbsp;26166.0
5&amp;nbsp;&amp;nbsp;60525&amp;nbsp;&amp;nbsp;32893.496454&amp;nbsp;&amp;nbsp;67656.0
6&amp;nbsp;&amp;nbsp;14052&amp;nbsp;&amp;nbsp;30049.424836&amp;nbsp;&amp;nbsp;78864.0
7&amp;nbsp;&amp;nbsp;&amp;nbsp;3536&amp;nbsp;&amp;nbsp;30326.204582&amp;nbsp;&amp;nbsp;78113.0&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Jul 2026 14:43:58 +0800</pubDate></item></channel></rss>