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

Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第一章 为什么要用 Python 为 Excel 编程)

Excel Python飞速搞定数据分析与处理前言本系列笔记是博主学习 Python 数据分析的详细记录主要记录了在学习过程中遇到的各种实际问题与解决方法。相信小伙伴们跟随本系列笔记也一定能够成功复现《Excel Python飞速搞定数据分析与处理》书里的各个案例。本系列笔记将以章节的形式进行更新力求简短从而降低小伙伴们的学习压力做到持之以恒的学习细水长流。在此请对于 Python 数据分析抱有兴趣的小伙伴们不吝赐教在评论区多多发言交流讨论博主在闲暇之余会多多学习思考积极讨论回复。也请多多点赞收藏转发更快解锁本系列笔记前五章内容请移步博主 GitHub 主页https://teliduxingdimiao.github.io/Don’t be shy, dare to share!第一部分 Python 入门第一章 为什么要用 Python 为 Excel 编程1.1 Excel 作为一门编程语言1.1.2 编程最佳实践最重要的编程最佳实践涉及关注点分离、DRY 原则、测试和版本控制。1. 关注点分离编程最重要的设计原则之一就是关注点分离separation of concerns有时候也称作模块化modularity。一系列相关的功能应当被视作程序中一个独立的部分来处理从而可以在不影响应用程序其他部分的情况下轻松地替换这一部分.一个应用程序通常被分为如下3层:•表示层presentation layer这一层是你可以看到并与之交互的部分也就是所谓的用户界面。•业务层business layer这一层负责特定应用程序的逻辑。•数据层data layer这一层负责访问数据。2. DRY 原则意思是“不要自我重复”don’t repeat yourself没有重复的代码意味着代码行数更少错误也更少代码自然也就更容易维护。3. 测试专业软件开发人员测试代码会写单元测试unit test。 这是一种可以测试程序各个组件的机制。单元测试会确保程序中的每一个函数都正常工作。大部分编程语言会提供一种自动执行单元测试的方法。执行自动测试可以使代码库的可靠性大幅提升并且在一定程度上测试会确保在编辑代码时不会破坏当前正常工作的代码。通常程序员会对单元测试进行配置每当代码被提交到版本控制系统的时候它就会自动运行。4. 版本控制专业程序员会使用版本控制version control系统或者称为源代码控制source control系统。版本控制系统version control systemVCS会不断跟踪源代码的更改让你能够看到是谁进行了更改更改了什么什么时候更改的为什么更改 并且在任何时候都能还原到过去的版本。当今最受欢迎的版本控制系统是Git。通常专业程序员都会结合像GitHub、GitLab、Bitbucket 和Azure DevOps 这样的Web 平台来使用Git这些平台可以让你提出所谓的拉取请求 pull request和合并请求merge request。这些操作可以让开发者正式地请求负责人将他们的更改合并到主数据库中。一次拉取请求会提供如下信息• 更改的作者 • 更改发生的时间 • 在提交信息commit message中描述的更改目的 • 在diff 视图其中新代码以绿色高亮显示删掉的代码以红色高亮显示中展示的更改细节。1.1.3 现代 Excel1. Power Query 和 Power PivotPower Query 可以连接各种数据源包括 Excel 工作簿、CSV 文件、SQL 数据库等等。核心功能是处理一张工作表装不下的数据集。在加载数据之后你还可以通过额外的操作来清理、操作数据使之成为 Excel 可用的形式。Power Pivot 和 Power Query 联系密切利用 Power Query 获取和清理数据之后就该Power Pivot 上场了。Power Pivot 以一种引人入胜的方式直接在 Excel 中分析和呈现数据。可以把它视作一种传统意义上的数据透视表。和 Power Query 一样 它也可以处理大型数据集。Power Pivot 可以用关系和层次来定义形式上的数据模型 并且可以通过 DAX 公式语言添加计算列。2. Power BIPower BI 是在2015 年发布的一个独立应用程序。Power BI 通过在交互式仪表板中可视化巨大的数据集使其更容易理解。Power BI 的商业版可以让你在线和他人合作并共享仪表板。Power BI 自2018年起就支持 Python 脚本了。1.2 用在 Excel 上的 PythonExcel 的主要功能是存储数据、分析数据和可视化数据。而 Python 在科学计算方面也极其强大天生就适合搭配 Excel 工作。1.2.1 可读性和可维护性良好的可读性使得发现错误和维护代码更加容易Python 会强制将视觉缩进和代码逻辑对齐从而避免可读性问题。当你在 if 语句或 for 循环中使用代码块时Python 依靠缩进来定义代码块。使用缩进定义代码块的原因在于编程时大部分时间是花费在维护代码而不是现写新的代码上。可读性好的代码可以帮助新进程序员回顾过去、了解现状。1.2.2 标准库和包管理器Python 通过标准库提供了丰富的内置工具。Python 社群喜欢称之为“自带电池”。尽管 Python 标准库涵盖了大量的功能但还是有一些功能难以编写又或是使用标准库来实现效率很低。这个时候就该 PyPI 上场了。PyPI 代表 Python Package IndexPython 包目录它是任何人包括你都可以上传开源 Python 包的巨大仓库利用这些包可以扩展Python 的功能。如果想更方便地从互联网上获取数据可以安装 Requests 包来获取一系列强大又好用的命令。要安装一个包需要在命令提示符或者终端中使用 Python 的包管理器即 pip。pip 是 pip installs packages 的递归缩写。为什么包管理器如此重要。一个主要原因是任何优质的包可能不仅依赖于 Python 标准库还会依赖于 PyPI 上的其他开源包。而这些依赖项又可能会依赖其他的包层层递进。pip 会递归地检查一个包的依赖项和子依赖项并逐一下载安装。你还可以使用 pip 轻松地更新包以保持各个依赖项都是最新版本。pip 让你能够坚守 DRY 原则因为不用重新发明轮子或者复制粘贴 PyPI 上已有的包。有了 pip 和 PyPI你就有了一套统一的机制来分发和安装依赖项——这正是 Excel 的插件所欠缺的。1.2.3 科学计算诸如 NumPy、SciPy 和 pandas 之类的科学计算库提供了一种简洁的方式来表达数学问题。1.2.5 跨平台兼容性即便在一台运行着 Windows 或者 macOS 的本地计算机上开发在某个时候你也可能会想让代码在一台服务器或者云端上运行。服务器会通过其运算能力让代码按计划执行并使应用程序可以从任何地方访问。Windows 或者 macOS 的本地计算机上开发在某个时候你也可能会想让代码在一台服务器或者云端上运行。服务器会通过其运算能力让代码按计划执行并使应用程序可以从任何地方访问。

相关文章:

Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第一章 为什么要用 Python 为 Excel 编程)

Excel Python:飞速搞定数据分析与处理前言 本系列笔记是博主学习 Python 数据分析的详细记录,主要记录了在学习过程中遇到的各种实际问题与解决方法。相信小伙伴们跟随本系列笔记,也一定能够成功复现《Excel Python:飞速搞定数据分…...

ATC美国技术陶瓷原厂一级代理分销经销

ATC美国技术陶瓷原厂原装代理分销经销一级代理分销经销ATC美国技术陶瓷原厂原装代理分销经销一级代理分销经销 现有ATC100B系列 600L/600S/600F系列库存。欢迎询价采购! 型号 数量 600S0R1BT250XT 3650 600S0R2BT250XT 2820 600S0R3BT250XT 2800 600S0R4BT250XT 2394 600S0R5BT…...

STM32F4项目实战:用广州大彩M系列串口屏打造动态数据监控界面

STM32F4项目实战:用广州大彩M系列串口屏打造动态数据监控界面 在工业控制和设备监控领域,实时数据显示的直观性和交互友好性直接影响着用户体验和操作效率。传统LCD屏虽然成本较低,但需要占用大量GPIO资源,且UI开发复杂。广州大彩…...

若依单体版Excel导出进阶:利用反射和字典实现可配置化列选择功能

若依单体版Excel导出进阶:基于反射与字典的动态列配置实战 在企业管理系统的开发中,Excel导出功能几乎是每个业务模块的标配需求。传统做法是为每个实体类编写固定的导出模板,但当业务字段频繁变更或需要根据不同场景动态调整导出列时&#x…...

告别混乱!Unity Timeline信号轨道自定义Marker实战:一个接收器处理所有带参信号

告别混乱!Unity Timeline信号轨道自定义Marker实战:一个接收器处理所有带参信号 在Unity游戏开发中,Timeline作为可视化编排工具能大幅提升过场动画和事件序列的制作效率。但原生SignalTrack的局限性常让开发者陷入"接收器地狱"——…...

不止是Python:用Go/Node.js调用钉钉机器人,如何避免‘缺少参数json’错误

跨语言调用钉钉机器人实战:Go/Node.js如何规避40035参数错误 钉钉机器人作为企业级消息推送的利器,早已超越单一技术栈的范畴。当开发者从Python转向Go或Node.js时,常会遇到一个看似简单却令人困惑的报错:{"errcode":40…...

Gazebo仿真物体一直往下掉?别慌,手把手教你搞定缺失的ground_plane模型

Gazebo仿真物体下坠问题全解析:从原理到实战修复指南 当你满怀期待地启动第一个Gazebo仿真场景,却发现机器人像断了线的风筝一样径直坠落,最终消失在视野中——这种挫败感我深有体会。作为ROS/Gazebo入门必经的"成人礼"&#xff0c…...

从Selective Search到RPN:目标检测的“找茬”进化史,以及为什么Faster RCNN是里程碑

目标检测的范式革命:从手工特征到端到端学习的演进之路 在计算机视觉领域,目标检测一直是最具挑战性的任务之一——不仅要识别图像中的物体是什么,还要精确标出它们的位置。这个看似简单的需求背后,却经历了从手工特征到深度学习&…...

solution说明

一、solution 1.设计中可以有多个solution二、solution中组成 1.constraints约束 directives.tcl脚本是用于存放优化指令$pragram指令的 script.tcl脚本用于打开工程,创建工程,工程的编译和运行,使用这个脚本可以恢复和建立vivado hls工程。 …...

从MobileNet到EfficientNet:深度可分离卷积的‘进化史’与实战性能对比

从MobileNet到EfficientNet:深度可分离卷积的进化与实战性能全景分析 当你在手机相册里用AI一键美化照片时,当智能门锁瞬间识别出你的面容时,背后都运行着经过精心优化的轻量级神经网络。这些算法需要在有限的算力资源下,同时保证…...

综合案例设计描述和分析

一、设计报告说明 1.从设置,代码转换,架构综合到硬件综合,最终生成了rtl; 2.从正太来看,综合是成功的,编译的宗师级是28秒,占用的内存空间为305MB 3.综合报告中有些警告: 数据完整分区导致警告,数组全部打散后生成寄存器,这个倒是没有问题,但是这个 全部打算后会造成…...

华硕笔记本性能管家G-Helper:轻量级替代方案完全指南

华硕笔记本性能管家G-Helper:轻量级替代方案完全指南 【免费下载链接】g-helper G-Helper is a fast, native tool for tuning performance, fans, GPU, battery, and RGB on any Asus laptop or handheld - ROG Zephyrus, Flow, Strix, TUF, Vivobook, Zenbook, Pr…...

Cascadia OS:构建可靠、可审计的本地AI智能体执行平台

1. 项目概述:一个为真实工作而生的AI执行层如果你和我一样,对市面上那些“看起来很美”的AI助手感到过失望——它们在演示中无所不能,一旦投入真实工作流,就变得健忘、鲁莽、脆弱,甚至会在关键时刻掉链子——那么Casca…...

告别MATLAB!手把手教你用Vivado IP核搞定FPGA上的卷积编码与维特比译码(附完整仿真代码)

FPGA实战:从MATLAB到硬件的卷积编码与维特比译码全流程解析 通信算法工程师在完成MATLAB仿真后,常面临将算法移植到FPGA的挑战。本文将以卷积编码和维特比译码为例,详解从软件仿真到硬件实现的完整迁移路径,提供可复用的工程模板和…...

告别clickhouse-driver的端口噩梦,用clickhouse-connect轻松搞定Python连接(附完整代码)

从clickhouse-driver到clickhouse-connect:Python连接ClickHouse的优雅实践 如果你曾经尝试用Python连接ClickHouse数据库,大概率经历过这样的场景:在搜索引擎输入"Python连接ClickHouse",跳出来的教程清一色推荐使用cl…...

Bibata Cursor:开源鼠标指针主题的设计、安装与深度定制指南

1. 项目概述:不只是换个鼠标指针那么简单 如果你和我一样,每天有超过8小时的时间与电脑屏幕为伴,那么鼠标指针这个看似微不足道的细节,其实在潜移默化中影响着你的操作效率和视觉舒适度。我最初接触 Bibata_Cursor 这个项目&am…...

使用 ibelick/nim Docker 镜像快速搭建标准化 Nim 开发环境

1. 项目概述:一个“小而美”的现代编程语言镜像如果你最近在Docker Hub上搜索过“nim”,或者想找一个开箱即用、配置完善的Nim语言开发环境,那么ibelick/nim这个镜像很可能已经进入了你的视野。这不是一个官方镜像,但它却凭借其精…...

开源贡献自动化:AI代理的“行为规范”工具箱设计与实践

1. 项目概述:一个让AI代理成为“合格”开源贡献者的工具箱 如果你正在尝试用AI代理(比如OpenClaw这类工具)来自动化参与开源项目,你很可能已经踩过一些坑了:AI兴致勃勃地开了个PR,结果要么是重复劳动&…...

移动端神经风格迁移优化:人类世景观的实时渲染

1. 项目概述:移动端优化的神经风格迁移系统在当代环境可视化领域,人类世(Anthropocene)景观的数字化呈现面临独特挑战——如何既保留工业化痕迹的物质质感,又维持环境场景的语义可读性。我们开发的AnthropoCam系统通过…...

构建AI设计智能体:UI/UX Pro Max技能库架构与工程实践

1. 项目概述:一个为AI Agent设计的UI/UX设计智能技能库如果你是一名开发者,正在构建一个能够理解并生成用户界面的AI助手,或者你希望将专业的设计知识系统化地注入到你的自动化工作流中,那么你很可能需要一套像UI/UX Pro Max这样的…...

TrueNAS存储池规划指南:VDEV数量怎么选?RAIDZ3下1个还是2个VDEV更划算?

TrueNAS存储池规划实战:12盘RAIDZ3架构下的VDEV数量决策指南 当你面对12块全新硬盘和TrueNAS控制台时,那个看似简单的选择题会突然变得无比纠结——该组建单个大型VDEV还是拆分为两个小型VDEV?这个决策将直接影响未来三到五年内的存储效率、数…...

基于MCP协议构建AI编程助手与Meta广告API的无缝集成工具

1. 项目概述:一个为AI编程助手打造的Meta广告管理工具 如果你和我一样,日常需要频繁地与Meta广告平台(也就是我们常说的Facebook和Instagram广告)打交道,同时又重度依赖像Claude Code、Cursor这类AI编程助手来提升效率…...

初次使用 Taotoken 模型广场进行模型选型的直观感受

初次使用 Taotoken 模型广场进行模型选型的直观感受 1. 模型广场的入口与布局 首次登录 Taotoken 控制台时,左侧导航栏的「模型广场」选项非常醒目。点击进入后,页面采用卡片式布局展示各类模型,每个卡片包含模型名称、提供商标志、简要描述…...

保姆级教程:在Ubuntu 20.04上为Qt 5.12.8配置aarch64交叉编译工具链(含gcc-arm-8.3)

ARM64跨平台开发实战:Ubuntu 20.04下Qt 5.12.8交叉编译环境深度配置指南 当我们需要将x86平台开发的Qt应用程序移植到国产ARM64架构设备时,交叉编译环境的搭建往往成为第一道技术门槛。本文将手把手带你完成从工具链配置到Qt源码编译的全过程&#xff0c…...

Swoole Manager进程误杀Worker导致LLM会话雪崩(附strace+gdb现场取证+热修复patch)

更多请点击: https://intelliparadigm.com 第一章:Swoole Manager进程误杀Worker导致LLM会话雪崩(附stracegdb现场取证热修复patch) 当 Swoole 4.8.13 PHP 8.2 环境承载高并发 LLM 流式响应服务时,Manager 进程在 SI…...

隐式神经表示(INR)技术解析与应用实践

1. 隐式神经表示技术解析隐式神经表示(Implicit Neural Representations, INR)是近年来计算机视觉领域兴起的一种新型数据表示方法。与传统显式表示(如像素网格、点云、网格等)不同,INR通过神经网络将坐标映射到对应属…...

R语言偏见审计不只调`tidyverse`!12个真实LLM面试场景题,含`survey::svyglm()`加权回归与`fairness::fairness_check()`源码级解读

更多请点击: https://intelliparadigm.com 第一章:R语言在大语言模型偏见检测中的统计方法 面试题汇总 在大语言模型(LLM)部署前的伦理评估中,R语言凭借其强大的统计建模能力与可复现性,成为偏见量化分析的…...

对比直接使用厂商 API 体验 Taotoken 在多模型聚合与路由上的便利

多模型聚合与路由的便利体验:从厂商 API 到 Taotoken 的实践观察 1. 多模型开发中的常见痛点 在构建基于大模型的应用时,开发者往往需要同时接入多个厂商的 API。每个厂商都有独立的密钥管理体系、计费方式和接口规范。这种分散的接入方式带来了显著的…...

ViciousTrap深度解析:入侵84国5300台设备构建全球蜜罐网络,黑客攻防进入“以攻监攻“新时代

一、事件全景:一场改写网络攻防规则的隐秘战争 2025年5月23日,法国网络安全公司Sekoia发布的一份威胁报告,在全球网络安全界投下了一颗重磅炸弹。一个此前从未被公开披露的黑客组织——ViciousTrap,在短短两个月内悄无声息地入侵…...

保姆级图解:TTM内存管理器如何为你的Linux显卡驱动分配显存(以4M申请为例)

保姆级图解:TTM内存管理器如何为你的Linux显卡驱动分配显存(以4M申请为例) 在Linux图形驱动开发中,内存管理一直是让新手开发者望而生畏的领域。想象一下,当你第一次尝试为显卡申请4MB显存时,面对TTM&#…...