驯龙日记:用Pandas驾驭数据的野性
引言:为什么选择Pandas?
"NumPy是手术刀,Pandas是急救箱"
-
手术刀(NumPy):精密的数值计算
-
急救箱(Pandas):处理现实数据的全套工具
维度 | NumPy数组 | Pandas Series | 优势对比 |
---|---|---|---|
索引系统 | 纯数字位置索引 | 支持标签+位置双索引 | 数据定位效率提升300% |
数据类型 | 强制统一类型 | 智能推断混合类型 | 真实数据兼容性更佳 |
对齐机制 | 无自动对齐 | 基于标签自动对齐 | 数据合并错误率降低80% |
元数据 | 仅存储数值 | 支持名称/类型等属性 | 数据自解释性更强 |
一、🛠️ 环境配置与基础操作
1.1 安装指南
# Windows/Mac通用安装命令
pip install pandas# Mac系统备用命令
pip3 install pandas
1.2 标准导入方式
import pandas as pd # 行业标准简写
二、🚀 Series核心操作全解析
Series:类似一维数组,但支持自定义索引和标签,与 NumPy 数组的区别:
-
输出时显示索引(默认从 0 开始,可自定义)。
-
支持标签索引(非仅位置索引)。
2.1 三种创建方式
import pandas as pd# 基础创建
s1 = pd.Series([2,4,6,8,10])# 自定义索引
s2 = pd.Series([5,3,9], index=['A','B','C'])# 字典转换
data_dict = {'北京':2154, '上海':2428, '广州':1876}
s3 = pd.Series(data_dict)
2.2 属性操作速查表
操作类型 | 代码示例 | 输出示例 |
---|---|---|
查看数值 | s2.values | [28,31,33] |
查看索引 | s2.index | Index(['北京','上海','广州']) |
获取形状 | s2.shape | (3,) |
统计描述 | s2.describe() | 展示count/mean/std等统计量 |
设置名称 | s2.name = '气温' | 增强数据可解释性 |
2.3 索引黑科技:位置vs标签双模式
使用整数作为索引标签时,易因索引逻辑混乱引发错误:取值操作(如 s[1]
)优先按标签匹配,而切片操作(如 s[1:3]
)默认按位置范围截取,这种不一致性可能导致意外结果。
-
解决关键:Pandas 提供
loc
和iloc
强制隔离两种索引模式,消除歧义。
索引方式对比矩阵
索引类型 | 访问方法 | 切片包含规则 | 典型应用场景 |
---|---|---|---|
位置索引 | s.iloc[] | 左闭右开 | 顺序访问数据 |
标签索引 | s.loc[] | 左闭右闭 | 按特征值精准定位 |
操作场景 | 位置索引 | 标签索引 | 混合索引风险 |
---|---|---|---|
单元素访问 | s.iloc[2] → 深圳气温 | s.loc['上海'] → 31 | 整数标签易引发歧义 |
范围切片 | s.iloc[1:3] → 上海到广州 | s.loc['上海':'广州'] → 含结束值 | 索引类型强制转换问题 |
布尔索引 | s[s > 30] → 筛选高温城市 | 支持复杂条件组合 | 注意运算符优先级 |
高级索引技巧
# 多维度筛选(注意括号使用)
high_temp = s2[(s2 > 30) & (s2.index.str.contains('海'))]# 动态索引更新
s2.loc['杭州'] = 29 # 安全新增条目
s2.iloc[1] = 32 # 精准修改上海气温# 存在性检查优化
if '深圳' in s3.index: s3.fillna(30, inplace=True) # 处理缺失值
2.4 练习
答案
写出导入pandas的语句,并且给pandas别名为pd。
import pandas as pd
创建一个叫s1的Series,里面包含元素-1.2、3.7、2.5、-8.2、6.3。创建后进行输出。
s1 = pd.Series([-1.2, 3.7, 2.5, -8.2, 6.3])
s1
打印s1的所有索引以及所有元素值。
print(s1.index)
print(s1.values)
创建一个叫s2的Series,里面包含元素1、2、3、4、5,并且对应索引5、4、3、2、1。创建后进行输出。
s2 = pd.Series([1, 2, 3, 4, 5], index=[5, 4, 3, 2, 1])
s2
输出s2里按位置顺序排在第2个的元素。
s2.iloc[1]
输出s2里按标签对应从5到3(包括3)范围内的元素。
s2.loc[5:3]
通过一个字典来创建Series s3。字典的键为:小李、小陈、小张、小曾、小邓,值为82、93、91、78、68。创建后进行输出。
s3 = pd.Series({"小李": 82, "小陈": 93, "小张": 91, "小曾": 78, "小邓": 68})
s3
把s3里小张标签对应的值改为95,再输出s3。
s3.loc["小张"] = 95
s3
输出s3里所有值大于80且小于90的元素。
s3[(s3 > 80) & (s3 < 90)]
三、Pandas Series高级操作指南
3.1 Series 算术运算
当两个 Series 相遇,Pandas 会自动充当 “数据翻译官”,按标签(索引)精准配对计算:
核心规则:只有索引 “撞衫”(同时存在)的数据才会计算,落单的索引结果为 NaN
(“找不到搭档,暂时空缺”)。
# 示例:s1 有索引 [0,1,3],s2 有索引 [0,2,3]
s1 = pd.Series([10, 20, 30], index=[0, 1, 3])
s2 = pd.Series([5, 15, 25], index=[0, 2, 3])
print(s1 + s2)
# 输出:
# 0 15.0 (0号索引配对,10+5=15)
# 1 NaN (1号索引在s2中找不到,空缺)
# 2 NaN (2号索引在s1中找不到,空缺)
# 3 55.0 (3号索引配对,30+25=55)
缺失值救星:fill_value
参数
不想看到 NaN
?用 方法调用(如 add()
)代替符号运算,给 “落单者” 一个默认值(比如 0):
print(s1.add(s2, fill_value=0)) # 给找不到的索引补0再计算
# 输出:
# 0 15.0 (0号正常计算)
# 1 20.0 (s2中没有1号,用0代替,20+0=20)
# 2 15.0 (s1中没有2号,用0代替,0+15=15)
# 3 55.0 (3号正常计算)
类比:就像两个班级按学号分组做游戏,学号(索引)一样的同学才能组队,没有学号的同学就派一个 “替补队员”(默认值)上场。
四则运算方法对照表
运算符 | 等效方法 | 参数说明 |
---|---|---|
+ | .add() | fill_value=默认值 |
- | .sub() | |
* | .mul() | |
/ | .div() | |
** | .pow() |
3.2 统计分析:describe()
魔法
想快速了解 Series 的 “健康状况”?describe()
一键生成 “数据体检报告”:
scores = pd.Series([85, 90, 70, 65, 80, 95])
print(scores.describe())
指标 | 含义(人话版) | 示例输出 |
---|---|---|
count | 数据个数(有多少个有效数字) | 6.0 |
mean | 平均值(所有数加起来除以个数) | 82.5 |
std | 标准差(数据波动幅度,越大越分散) | 10.897 |
min | 最小值(最小的数) | 65.0 |
25% | 第 25 百分位数(前 25% 数据的分界线) | 70.0 |
50% | 中位数(中间的数,排序后第 3、4 名的平均) | 82.5 |
75% | 第 75 百分位数(后 25% 数据的分界线) | 90.0 |
max | 最大值(最大的数) | 95.0 |
对比 NumPy:NumPy 数组需要分别调用 max()
、mean()
等函数,而 Pandas 的 describe()
直接 “打包输出”,效率翻倍!
3.3 元素级操作:
如果每个数据都需要 “私人定制”(比如成绩转等级、数据清洗),apply()
就是你的 “智能流水线”:
(1)定义 “加工规则”(函数)
def score_to_grade(score): if score >= 90: return 'A' # 优秀 elif 80 <= score < 90: return 'B' # 良好 elif 70 <= score < 80: return 'C' # 中等 else: return 'D' # 加油哦
(2)批量加工,生成新 Series
grades = scores.apply(score_to_grade)
print(grades)
# 输出:0 B, 1 A, 2 C, 3 D, 4 B, 5 A (每个成绩都被“翻译”成等级)
(3)偷懒技巧:用 lambda
快速写简单规则
# 给所有成绩加5分(广播机制+apply)
new_scores = scores.apply(lambda x: x + 5)
3.4 广播机制:让单个数字 “感染” 所有元素
当一个数字(如 5
)遇到 Series,Pandas 会自动让这个数字 “感染” 每个元素,逐个运算:
s = pd.Series([1, 2, 3])
print(s * 3) # 等价于每个元素 ×3,输出:0 3, 1 6, 2 9
类比:就像给全班同学每人发 3 本书,不需要逐个通知,一句 “每人 3 本” 就能让所有人收到。
3.5 核心知识点速查表
场景 | 方法 / 机制 | 核心作用 | 示例代码 |
---|---|---|---|
带默认值的运算 | s1.add(s2, fill_value=0) | 索引不对齐时用默认值填充再计算 | s1.add(s2, fill_value=0) |
快速统计数据 | describe() | 生成数据的多维度统计报告 | scores.describe() |
自定义元素处理 | apply(函数) | 对每个元素应用自定义逻辑,返回新 Series | grades = scores.apply(score_to_grade) |
单个数字批量运算 | 广播机制 | 自动对每个元素执行相同操作 | s * 2 或 s + 5 |
相关文章:
驯龙日记:用Pandas驾驭数据的野性
引言:为什么选择Pandas? "NumPy是手术刀,Pandas是急救箱" 手术刀(NumPy):精密的数值计算 急救箱(Pandas):处理现实数据的全套工具 维度NumPy数组Pandas Se…...
产品经理面经(1)
今天开一个新的栏目,是关于产品经理方面的。产品经理这个岗位每年的需求都是不少的,尤其是近年来AI的兴起造就了产品经理与AI方面深度融合从而催生了“AI产品经理”这种类型的岗位。具体数据如下 总体规模: 2020 年:受疫情影响&am…...
【黑马JavaWeb+AI知识梳理】前端Web基础02 - JS+Vue+Ajax
JS(行为/交互效果) JavaScript(JS)跨平台、面向对象,是用来控制网页行为,实现页面交互效果的脚本语言。 和Java完全不同,但基础语法类似。 组成: ECMAScript:规定了JS…...
Unity Post Processing 小记 【使用泛光实现灯光亮度效果】
一、前言 本篇适用于Unity 2018 - 2019及以上版本,以默认渲染管线为例。文章内容源于个人研究尝试与网络资料收集,可能存在不准确之处。初衷是因新版本制作时老的Bloom插件失效,经研究后分享开启Bloom效果的方法。若在项目中使用Post Proces…...
NFC 碰一碰发视频贴牌技术,音频功能的开发实践与技术解析
在数字化营销与信息交互场景中,NFC 碰一碰技术凭借其便捷性和高效性,成为快速传递多媒体内容的新选择。通过 NFC 实现视频音频的快速传输,不仅能提升用户体验,还能为各类场景带来创新应用。本文将深入探讨该功能开发过程中的关键技…...
新型“电力寄生虫“网络钓鱼攻击瞄准能源企业与知名品牌
本周发布的综合威胁报告显示,自2024年以来,一场名为"电力寄生虫"(Power Parasites)的复杂网络钓鱼活动持续针对全球能源巨头和知名品牌展开攻击。 该攻击活动主要通过精心设计的投资骗局和虚假招聘信息,冒用…...
如何将数据输入到神经网络中
引言 在前面的文章学习中,我们初步了解到神经网络在人工智能领域扮演着至关重要的角色,它具备实现真正人工智能的潜力。真正的人工智能意味着机器能够像人类一样进行感知、学习、推理和决策等复杂活动。而神经网络作为实现这一目标的关键技术,…...
【quantity】2 Unit 结构体(unit.rs)
一、源码 下面代码实现了一个基于类型级别的物理量单位系统,使用Rust的类型系统在编译期保证单位运算的正确性。 use typenum::{Integer, Sum, Diff, Z0, // 0P1, P2, P3, P4, // 1, 2, 3, 4N1, N2, N3 // -1, -2, -3 }; use std::marker::PhantomData; use st…...
OpenCV 图形API(66)图像结构分析和形状描述符------将一条直线拟合到三维点集上函数fitLine3D()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 拟合一条直线到3D点集。 该函数通过最小化 ∑iρ(ri) 来将一条直线拟合到3D点集,其中 ri 是第 i 个点与直线之间的距离,…...
uniapp: 低功耗蓝牙(BLE)的使用
在微信小程序中实现蓝牙对接蓝牙秤的重量功能,主要依赖微信小程序提供的低功耗蓝牙(BLE)API。以下是一个清晰的步骤指南,帮助你完成从连接蓝牙秤到获取重量数据的开发流程。需要注意的是,具体实现可能因蓝牙秤的协议和…...
谢飞机的Java面试之旅:从Spring Boot到Kubernetes的挑战
场景:互联网大厂Java求职 在一家知名互联网大厂的面试现场,严肃的面试官坐在谢飞机的对面,开始了面试。 第一轮:基础技术与平台 面试官: 谢先生,您能简单介绍一下Java SE 8的主要新特性吗? 谢飞机: 当然,Java 8引入了Lambda表达式、Stream API和新的日期时间API。 …...
Shadertoy着色器移植到Three.js经验总结
Shadertoy是一个流行的在线平台,用于创建和分享WebGL片段着色器。里面有很多令人惊叹的画面,甚至3D场景。本人也移植了几个ShaderToy上的着色器。本文将详细介绍移植过程中需要注意的关键点。 1. 基本结构差异 想要移植ShaderToy的shader到three.js&am…...
基于BenchmarkSQL的OceanBase数据库tpcc性能测试
基于BenchmarkSQL的OceanBase数据库tpcc性能测试 安装BenchmarkSQL及其依赖安装软件依赖编译BenchmarkSQLBenchmarkSQL props文件配置数据库和测试表配置BenchmarkSQL压测装载测试数据TPC-C压测(固定事务数量)TPC-C压测(固定时长)生成测试报告重复测试流程梳理安装Benchmar…...
Flutter 泛型 泛型方法 泛型类 泛型接口
目录 泛型简单使用 泛型类的简单使用 泛型接口的使用 通俗理解:泛型就是解决 类 接口 方法的复用性、以及对不特定数据类型的支持(类型校验) 泛型简单使用 main(){print(getData2("XXX"));getData2<String>("XXX");getData2<int>(1);}Str…...
边缘函数:全栈开发的最后1毫秒性能革命
一、边缘计算的时空折叠术 1. 传统CDN vs. 智能边缘网络 全球电商平台实测数据: 场景云端处理延迟边缘处理延迟转化率提升搜索建议320ms8ms18%个性化推荐450ms12ms27%实时库存检查680ms9ms42%欺诈检测920ms15ms63% 二、边缘全栈架构的量子纠缠 1. 代码的时空分布…...
网店专用版批量转账系统,覆盖淘宝、拼多多、抖店订单信息自动核对+插旗自动备注,支持微信支付宝批量转账
不少电商人在运营过程中,需要用转账工具来解决日常运营过程中的返款问题。 但在实际操作过程中,往往有很多问题。东哥在这里梳理下,方便大家了解: 1.错返/漏返的情况时有发生 为什么会错返和漏返? 实际来看&#x…...
AUTOSAR_RS_ClassicPlatformDebugTraceProfile
AUTOSAR经典平台调试、跟踪与分析支持 AUTOSAR组件调试、跟踪与分析功能详解 目录 简介ARTI核心扩展 核心特定ARTI扩展结构核心参数定义 操作系统和任务扩展 OS特定ARTI扩展任务特定ARTI扩展软件组件特定扩展 总体架构 组件结构接口定义 错误处理 默认错误跟踪器(DET) 总结 1.…...
vue中将html2canvas转成的图片传递给后台 Python Flask 服务
下面将详细介绍如何在 Vue 项目里把 html2canvas 转换得到的图片传递给后台的 Python Flask 服务。 前端(Vue)步骤 1. 安装依赖 首先要确保已经安装了 html2canvas 和 axios,若未安装,可在终端执行以下命令: npm i…...
基于深度学习的智能交通流量监控与预测系统设计与实现
基于深度学习的智能交通流量监控与预测系统设计与实现 摘要 随着城市化进程的加速和机动车保有量的激增,交通拥堵、事故频发、环境污染等问题日益严峻,对传统的交通管理方式提出了巨大挑战。智能交通系统(ITS)作为解决这些问题的…...
鸿蒙系统应用开发全栈指南
一、开发环境搭建与工具链配置 1. DevEco Studio深度解析 作为鸿蒙生态的官方IDE,DevEco Studio 4.2版本已集成ArkTS 3.0编译器与AI代码助手功能。安装过程需注意: 系统要求:Windows 10 21H2或macOS Monterey以上环境依赖:Node…...
STC32裸机项目集成FreeRTOS的实战问题解析
目录 🍅点击这里查看所有博文 随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记…...
振弦式应变计在混凝土结构长期监测中的应用与特点 久岩传感 GEO-explorer
振弦式应变计在混凝土结构长期监测中的应用与特点 久岩传感 GEO-explorer 振弦式应变计是一种专为长期埋设于水工建筑物及各类混凝土结构内部而设计的测量仪器,可广泛应用于梁体、柱体、桩基、挡土墙、隧道衬砌、桥墩及基岩等结构的应变与应力监测,同时具…...
AVFormatContext 再分析
说明 :将 avfromatContext 的变量依次打印分析,根据ffmpeg 给的说明,猜测,结合网上的文章字节写测试代码分析。 从常用到不常用依次分析 1. unsigned int nb_streams; 代表 avfromatContext 中 AVStream **streams 的个数 /** …...
力扣hot100,739每日温度(单调栈)详解
时隔多久又遇到单调栈的题了,上次记得是接雨水的题,简单讲一下单调栈的适用场景和定义。 意义:看名字就知道单调栈是一个栈里面的数据是单调的 。 解决问题: 单调栈主要用于解决需要**快速找到某个元素附近更大或更小的元素**的问题,其核心…...
怎么检测代理IP延迟?如何选择低延迟代理?
在跨境电商、数据采集以及社交媒体管理等活动中,代理IP的延迟是评估其性能的关键指标之一。高延迟的代理IP可能显著影响任务效率,特别是在需要高并发或大量请求的情况下。本文将介绍几种测试海外代理IP延迟的方法。 一、使用Ping命令测试延迟 Ping命令…...
QEMU 10.0 发布
QEMU 10.0 于 2025 年 4 月 23 日发布。此版本包含 2800 多个提交,来自 211 位作者。以下是一些主要的更新内容: CPU 和主板支持增强 x86 架构:优化了字符串操作指令,显著缩短启动时间。新增了 Intel Clearwater Forest 和 Sierra…...
C++和Java该如何选择?
我真诚的建议你选择C。因为国内Java程序员内卷太严重了,某些公司发布一个Java岗位,立刻就有几百人打招呼;而发布一个C岗位,打招呼的人数就那么十几个。 要知道,无论什么时候,只要你能够学得动C,…...
Javase 基础入门 —— 06 final + 单例
本系列为笔者学习Javase的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaAI智能辅助编程全套视频教程,java零基础入门到大牛一套通关》,章节分布参考视频教程,为同样学习Javase系列课程的同学们提供参考。 01 final 关…...
web 开发中,前端部署更新后,该怎么通知用户刷新
web 开发中,前端部署更新后,该怎么通知用户刷新? 浏览器为什么存在刷新按钮?🔘 因为需要重新加载js,css,html。但为何需要重新加载这些东西?直白点说这些东西其实就是一个文档&…...
LaTex、pdfLaTex、XeLaTex和luaLaTex的区别和联系
之前一直搞不懂这些乱七八糟的Tex到底有啥区别,不同引擎不同编译器换来换去,查了些资料又问了下AI,总算是搞懂了。 大概是这样,很久以前有人写了个Tex排版引擎,输入一些代码命令,输出dvi文件(设…...
深入解析 npm 与 Yarn:Node.js 包管理工具对比与选型指南
在 Node.js 生态中,依赖管理是项目开发的核心环节。npm(Node Package Manager)和 Yarn 作为两大主流包管理工具,虽目标一致但各有特色。本文将从技术实现、使用场景、生态整合等维度深度对比,助你选择更适合的工具。…...
PDF嵌入图片
所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源码 /*** PDF工具*/ public class PdfUtils {/*** 嵌入图…...
Coding Practice,48天强训(24)
Topic 1:判断是不是平衡二叉树(递归) 判断是不是平衡二叉树_牛客题霸_牛客网 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** 代码中的类名、方法名、参数名已经指定,请勿修改&…...
技术分享 | Oracle-RAC修改IP信息
本文为墨天轮数据库管理服务团队第61期技术分享,内容原创,作者为技术顾问胡振兴,如需转载请联系小墨(VX:modb666)并注明来源。 在生产中有时候会遇到网络变更,Oracle RAC IP信息更换等情况&…...
北京工业大学25计专上岸经验分享
1.个人情况介绍 本科就读于河北双非,专业为计算机科学与技术,四级三次498,六级两次460,拿过几次校级奖学金,竞赛经历有蓝桥杯国三、数学竞赛省二。本科成绩排名靠前,保研保7排8,遗憾选择考研继…...
rabbitmq常用命令
目录 1.查看集群状态 2.查看消息对列的堆积 3.重启mq服务 4.清理mq队列消息 1.查看集群状态 rabbitmqctl cluster_status 2.查看消息对列的堆积 rabbitmqctl list_queues rabbitmqctl list_queues | grep -v 0$ 3.重启mq服务 systemctl status rabbitmq-server.servic…...
Spring Cloud Alibaba 整合 Sentinel:实现微服务高可用防护
一、Sentinel 简介 Sentinel 是阿里巴巴开源的面向分布式服务架构的流量控制组件,主要提供以下核心功能: 流量控制:针对不同的调用关系,以不同的运行指标(如 QPS、线程数、系统负载等)为基准,对…...
机器人抓取位姿检测——GRCN训练及测试教程(Pytorch)
机器人抓取位姿检测——GRCN训练及测试教程(Pytorch) 这篇文章主要介绍了2020年IROS提出的一种名为GRCN的检测模型,给出了代码各部分的说明,并给出windows系统下可以直接复现的完整代码,包含Cornell数据集。 模型结构图 github源码地址:https://github.com/skumra/robo…...
《一键式江湖:Docker Compose中间件部署108式》开篇:告别“配置地狱”,从此笑傲云原生武林!》
(🗡️江湖险恶,少侠可曾受困?) 深夜🌙,你盯着屏幕泛红的终端报错,第3次从GitHub某个无名仓库扒下残缺的docker-compose.yaml, 却发现: RabbitMQ连不上&#…...
C语言内敛函数
目录 1、内敛函数的定义 2、内敛函数的特点 2.1 减少函数调用开销 2.2 代码膨胀 2.3 编译器决定 2.4 适用于小型函数 3、示例 4、注意事项 在C语言中,内敛函数(Inline Function)是一种通过编译器优化来减少函数调用开销的机制。它通过…...
DAY8-GDB调试及打桩
GDB打桩 1.类成员函数打桩 // example1.cpp #include <iostream>class Calculator { public:int add(int a, int b) {return a b;} };int main() {Calculator calc;std::cout << "Result: " << calc.add(2, 3) << std::endl;return 0; }(…...
三、UI自动化测试03--操作方法API
目录 一、元素操作⽅法二、浏览器操作⽅法1. Part1: 设置最⼤化/⼤⼩/位置扩展: Web/APP 项⽬⻚⾯布局坐标系示意2. Part2: 后退/前进/刷新3. Part3: 关闭/退出/获取⻚⾯标题和 URL 地址 三、获取元素信息⽅法1. Part1: 获取⼤⼩/⽂本/属性值2. Part2: 判断元素是否可⻅/可⽤/可…...
人工智能—— K-means 聚类算法
目录 摘要 16 K-means 聚类算法 16.1 本章工作任务 16.2 本章技能目标 16.3 本章简介 16.4 编程实战 16.5 本章总结 16.6 本章作业 本章已完结!!! 摘要 本章实现的工作是:首先采用Python语言读取样本数据(学生的语文、数…...
使用XMLSpy校验xml是否合法
# 背景说明 近期大部分地区都在做或将要做数据迁移,基本所有产品的迁移工具底层都依赖了XSD文件对迁移的结构化数据对应XML文件进行初步校验,但有些XSD的问题提示不太容易理解,正好N年前我做XX数据上报时用过XMLSpy可以直接校验每个xml是否合…...
游戏引擎学习第248天:清理数据块显示
启动代码,构建游戏,回顾并为今天的工作做好准备 今天还需要做一些额外的调整。具体来说,我们希望能编辑一些调试值,而这个结构在当前的调试系统中已经有了,所以今天主要是清理一些无关的部分,并进行一些连…...
基于Pytest接口自动化的requests模块项目实战以及接口关联方法详解
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、基于pytest单元测试框架的规则 1.1 模块名(即文件名)必须以test_开头或者_test结尾 1.2 类名必须以Test开头且不能有init方法 1.3 用…...
腾讯 Kuikly 正式开源,了解一下这个基于 Kotlin 的全平台框架
在 3月的时候通过 《腾讯 TDF 即将开源 Kuikly 跨端框架,Kotlin 支持全平台》 我们大致知道了 Kuikly 的基本情况,Kuikly 是一个面向终端技术栈的跨端开发框架,完全基于kotlin语言开发,提供原生的性能和体验。 按照官方的说法&…...
【c++】AVL树模拟实现
简介 AVL树是最先被发明出来的自平衡二叉查找树,在1962由前苏联科学家G. M. Adelson-Velsky和E. M. Landis在论文中发表。AVL树中引入了平衡因子,每一个节点都有一个平衡因子(一般是右子树高度 - 左子树高度);AVL树要…...
具身智能模型开发训练技法之仿真平台动捕数据重定向
具身智能大模型的开发与训练高度依赖大量的数据输入,形象地说,如同需要持续的“数据喂养”。只有经过不断地进行数据积累和模型训练,具身智能大模型才能够实现自主感知、自主决策以及自主执行的完整进程。在多样化的数据形态中,真…...
手撕——贪吃蛇小游戏(下)
引言 上一章介绍了实现贪吃蛇小游戏必备的知识点。 这章,让我们一起开启手搓核弹之旅吧。 先附上贪吃蛇代码的git:贪吃蛇小游戏_4_23 Shown_shuai/learn_c - 码云 - 开源中国 (gitee.com) 上一章的窗口: 手撕——贪吃蛇小游戏࿰…...