pandas数据分析入门:从数据读取到清洗、分组与实战技巧
1. 为什么数据分析入门绕不开pandas很多人第一次接触数据分析脑子里想的都是我要学机器学习我要搞深度学习模型结果打开教程第一课就是pandas心里多少有点落差。我当初也是这样觉得这玩意儿不就是个高级Excel吗拖拖拽拽的事情有什么好学的。直到真正上手处理一份几十万行的业务数据Excel直接卡死我才明白pandas的价值到底在哪。pandas本质上是一套建立在Python之上的表格数据处理工具库它把数据分成两种核心结构Series一维带标签数组和DataFrame二维表格。你可以把它理解成一个能用代码操控的Excel但它的能力边界比Excel大得多——处理百万行数据毫无压力支持复杂的条件筛选、分组聚合、时间序列操作还能和NumPy、Matplotlib、scikit-learn这些库无缝衔接。这篇文章适合谁看如果你是刚转行做数据分析的新人或者做运营、产品、财务想自己动手处理数据的职场人又或者是写后端想补一补数据处理能力的开发者pandas都是性价比最高的切入点。它不需要你有多深的数学功底也不需要你懂算法原理只要你会基本的Python语法就能在几天内上手干活。我写这篇内容的思路是不堆API文档而是按照一个真实数据分析项目的推进顺序把pandas最核心的操作串起来讲。每一步我都会说清楚为什么要这么做不这么做会怎样以及我自己踩过的坑。你跟着走一遍基本就能独立处理一份中等复杂度的数据集了。2. 环境搭建与数据读取的第一道坎2.1 装库这件事别想得太简单安装pandas本身一条命令就够pip install pandas numpy matplotlib openpyxl但我建议你顺手把numpy、matplotlib、openpyxl一起装上。原因很实际pandas底层依赖NumPy做数值计算画图要靠Matplotlib读Excel文件需要openpyxl引擎。很多人只装pandas结果读xlsx报错、画图报错又回头一个个补浪费时间。如果你用Anaconda这些库基本都预装了省事。但我个人更推荐用虚拟环境管理比如venv或者conda env避免不同项目之间的库版本打架。我遇到过最坑的一次是一个老项目依赖pandas 1.x新项目用pandas 2.x全局环境里两个版本互相覆盖调了半天才发现是版本问题。提示pandas 2.x之后对数据类型和性能做了不少优化新项目直接用最新稳定版即可但接手老项目时一定要先看requirements.txt里锁定的版本。2.2 读取数据路径、编码、引擎三个坑读取数据是分析的第一步也是最容易出问题的一步。最常见的三种数据源是CSV、Excel和数据库。读CSV用pd.read_csv()看起来简单但坑最多import pandas as pd df pd.read_csv( sales_data.csv, encodingutf-8, sep,, header0, dtype{order_id: str} )这里每个参数都有讲究。encoding不指定的话遇到中文经常报UnicodeDecodeError国内数据常见的是utf-8、gbk、gb18030几种实在不确定可以用chardet库先探测一下。sep默认是逗号但有些系统导出的文件用制表符或分号分隔读进来会变成一整列这时候要手动指定。header指定哪一行是列名有些文件前几行是说明文字就得设header2之类跳过。dtype这个参数我要重点说。pandas默认会自动推断类型但订单号、身份证号、手机号这类看起来像数字的字段如果被推断成int或float前导零会丢失长数字还会变成科学计数法。我见过最典型的事故是订单号0012345读进来变成12345对账的时候怎么都对不上。所以关键ID字段一定要显式指定成字符串。读Excel用pd.read_excel()需要openpyxl或xlrd引擎。大文件读取会慢如果只是看数据结构可以先读前几行df pd.read_excel(report.xlsx, sheet_nameSheet1, nrows100)sheet_name不指定默认读第一个工作表多表文件一定要明确指定否则读错表自己还不知道。2.3 第一眼该看什么数据读进来之后别急着分析先做一轮体检。我习惯用这几个方法快速摸底df.shape # 行列数 df.info() # 字段类型、非空数量、内存占用 df.head(10) # 前10行 df.describe() # 数值字段的统计摘要 df.isnull().sum() # 每个字段的缺失值数量df.info()是我用得最多的它能一眼看出哪些字段有缺失、类型对不对。比如一个本该是数值的金额字段显示成object那多半是里面混了文字或者特殊符号后面计算肯定出问题。df.describe()默认只统计数值列如果加上includeall可以看所有列包括字符串列的唯一值数量、出现频率最高的值等对快速了解数据分布很有帮助。这一步花不了几分钟但能帮你避开后面一大堆莫名其妙的错误。我养成的习惯是任何一份新数据到手先跑一遍这套体检心里有底了再往下做。3. 数据清洗把脏数据变成能用的数据真实业务数据几乎没有干净的缺失值、重复值、格式不统一、异常值这些都是家常便饭。清洗这一步做得好不好直接决定后面分析结论可不可信。我见过太多人跳过清洗直接跑分析最后得出一个离谱的结论回头查半天才发现是数据本身有问题。3.1 缺失值删还是填要看业务含义缺失值处理没有标准答案关键看这个字段缺失意味着什么。df.isnull().sum() # 统计缺失 df.dropna(subset[amount]) # 删除关键字段缺失的行 df[amount].fillna(0) # 用0填充 df[amount].fillna(df[amount].mean()) # 用均值填充我的经验是关键字段缺失且占比很小比如低于5%直接删占比大或者字段重要就得想办法填。填充方式也有讲究数值字段用均值、中位数类别字段用众数时间序列字段用前向填充ffill或后向填充bfill。但这里有个反直觉的点有时候缺失本身就是一种信息。比如用户资料里收入字段大量缺失可能恰恰说明这部分用户不愿意透露收入这个特征本身就有分析价值。所以别一上来就无脑填充先想清楚缺失背后的业务逻辑。注意fillna默认返回新对象不会修改原DataFrame。想原地修改要加inplaceTrue但我不推荐这么做容易在链式操作里出问题还是显式赋值更安全。3.2 重复值去重前先搞清楚为什么重复df.duplicated().sum() # 统计完全重复的行 df.drop_duplicates() # 删除完全重复 df.drop_duplicates(subset[user_id]) # 按某字段去重完全重复的行通常是数据采集或导入时出的错直接删没问题。但按某个字段去重就要小心了比如按user_id去重意味着每个用户只保留一条记录那保留哪一条默认保留第一条但你可能需要保留最新的一条这时候要先按时间排序再去重df.sort_values(update_time, ascendingFalse).drop_duplicates(subset[user_id])我踩过的坑是有一次做用户分析没注意去重逻辑把同一用户的多次行为记录当成多个用户导致用户数虚高了一倍多。所以去重之前一定要想清楚什么算重复。3.3 类型转换与格式统一类型不对是很多计算错误的根源。常见的有df[amount] pd.to_numeric(df[amount], errorscoerce) df[date] pd.to_datetime(df[date], errorscoerce) df[category] df[category].astype(category)pd.to_numeric的errorscoerce参数很关键它会把无法转换的值变成NaN而不是直接报错方便你后续定位问题数据。pd.to_datetime同理。字符串字段的格式统一也常被忽略。比如北京北京市北京 带空格在分组统计时会被当成三个不同的值。处理方法是先去除首尾空格再统一替换df[city] df[city].str.strip().str.replace(市, , regexFalse).str访问器是pandas处理字符串的利器配合正则表达式能搞定大部分文本清洗。但要注意.str方法遇到NaN会返回NaN不会报错这既是优点也是坑——你可能不知不觉漏掉了一批缺失值。3.4 异常值别急着删先看看是不是真的异常异常值检测常用的是四分位距法IQRQ1 df[amount].quantile(0.25) Q3 df[amount].quantile(0.75) IQR Q3 - Q1 lower Q1 - 1.5 * IQR upper Q3 1.5 * IQR outliers df[(df[amount] lower) | (df[amount] upper)]但我要提醒的是统计意义上的异常值不一定是错误数据。比如电商销售额大促期间的单笔金额可能就是远超平时的这是真实业务现象删掉反而丢失了重要信息。所以发现异常值后正确的做法是结合业务去判断是录入错误、单位错误还是真实的极端情况确认是错误再处理是真实数据就保留必要时单独分析。4. 筛选、排序与分组数据分析的核心动作数据清洗完就进入真正的分析环节。pandas在这一块的能力非常强掌握几个核心操作80%的分析需求都能覆盖。4.1 条件筛选loc和布尔索引最常用的筛选方式是布尔索引df[df[amount] 1000] df[(df[city] 北京) (df[amount] 1000)] df[df[category].isin([电子, 服装])]多个条件用与、|或、~非连接每个条件必须用括号包起来这是新手最容易犯的语法错误。忘了括号pandas会报运算符优先级相关的错或者得到完全错误的结果。loc和iloc是另外两个核心方法。loc按标签索引iloc按位置索引df.loc[df[amount] 1000, [order_id, amount]] df.iloc[0:10, 0:3]loc的妙处在于可以同时筛选行和列写起来很清晰。我处理复杂筛选时基本都用loc可读性比纯布尔索引好很多。4.2 排序多字段排序的实际场景df.sort_values(amount, ascendingFalse) df.sort_values([city, amount], ascending[True, False])多字段排序在报表场景很常见比如先按城市升序同城市内按金额降序。ascending参数传列表时长度要和排序字段数量一致否则报错。排序时如果字段有NaN默认排在最后。想控制NaN的位置可以用na_positionfirst。这个细节在做TopN榜单时要注意否则NaN可能混进排名里。4.3 分组聚合groupby是pandas的灵魂如果只能保留一个pandas功能我选groupby。它的逻辑是拆分-应用-合并按某个字段把数据拆成若干组对每组做计算再把结果合并回来。df.groupby(city)[amount].sum() df.groupby(city).agg({ amount: [sum, mean, count], order_id: nunique })agg方法支持对不同字段应用不同聚合函数还能一次算多个指标。上面这段代码的意思是按城市分组对amount字段算总和、均值、计数对order_id算去重计数。分组后如果想把结果变回普通DataFrame用reset_index()result df.groupby(city)[amount].sum().reset_index()不reset的话分组字段会变成索引后续操作容易出问题。我习惯每次groupby之后都reset一下保持数据结构统一。transform是另一个容易被忽略但很有用的方法它把聚合结果广播回原数据的每一行df[city_avg] df.groupby(city)[amount].transform(mean)这样每一行都能拿到所属城市的平均值方便做和平均值对比这类分析。这个技巧在做用户分层、异常检测时特别实用。4.4 透视表交叉分析的利器pivot_table可以快速做出类似Excel透视表的效果pd.pivot_table( df, valuesamount, indexcity, columnscategory, aggfuncsum, fill_value0 )这段代码生成一个城市×品类的金额交叉表行是城市列是品类单元格是汇总金额。fill_value0把空值填成0避免出现NaN影响后续计算。透视表在分析多维度关系时效率极高比手动groupby再拼接方便得多。但要注意aggfunc默认是mean做金额汇总时一定要显式指定sum否则算出来的是平均值结论完全不一样。5. 数据合并与时间序列处理5.1 merge多表关联的正确姿势真实项目的数据往往分散在多张表里需要关联起来分析。merge是pandas的关联利器类似SQL的joinpd.merge(orders, users, onuser_id, howleft) pd.merge(orders, users, left_onuid, right_onuser_id, howinner)how参数决定关联方式inner取交集left保留左表全部right保留右表全部outer取并集。最常用的是left比如以订单表为主关联用户信息没有匹配上的用户信息显示为NaN。关联时最容易出的问题是字段类型不一致。左表user_id是int右表是strmerge会匹配不上结果全是NaN。所以关联前一定要检查两边关联字段的类型是否一致。另一个坑是关联后行数暴增。如果右表关联字段有重复值一对多关联会让结果行数膨胀。比如订单表关联用户表如果用户表里同一个user_id有多条记录订单就会被复制多份。关联后一定要检查行数变化确认符合预期。5.2 concat纵向拼接与横向拼接pd.concat([df1, df2], axis0, ignore_indexTrue) # 纵向堆叠 pd.concat([df1, df2], axis1) # 横向拼接纵向拼接常用于合并多个月份、多个渠道的数据。ignore_indexTrue会重新生成索引避免索引重复。横向拼接则是按列拼要求两边行数一致否则会用NaN补齐。我处理月度数据时习惯写个循环把每个月的文件读进来放进列表最后一次性concat比逐个merge高效得多。5.3 时间序列日期字段的威力时间字段处理好了能挖出很多有价值的信息。先把日期转成datetime类型df[date] pd.to_datetime(df[date]) df[year] df[date].dt.year df[month] df[date].dt.month df[weekday] df[date].dt.dayofweek df[hour] df[date].dt.hour.dt访问器能提取年月日、星期、小时等各种时间维度。有了这些字段就能做按月趋势周末vs工作日高峰时段这类分析。按时间重采样用resampledf.set_index(date).resample(M)[amount].sum()M表示按月W按周D按天。重采样在分析趋势时非常方便比手动groupby年月简洁得多。时间序列还有个常见需求是计算同比环比用shiftdf[last_month] df[amount].shift(1) df[growth] (df[amount] - df[last_month]) / df[last_month]shift(1)把数据往下移一行就能拿到上一期的值做环比计算。这个技巧在报表自动化里用得很多。6. 那些文档里不会写的实战经验前面讲的都是标准动作但真正让分析效率拉开差距的往往是这些细节经验。6.1 链式操作与SettingWithCopyWarningpandas最烦人的警告之一就是SettingWithCopyWarning。它出现的原因是pandas分不清你操作的是原始数据的视图还是副本。比如df[df[amount] 1000][level] high # 会报警告且可能不生效正确写法是用locdf.loc[df[amount] 1000, level] high或者先显式复制subset df[df[amount] 1000].copy() subset[level] high我的习惯是任何筛选后的子集要修改先.copy()一下彻底避免这个警告。虽然多占点内存但省心。6.2 性能优化大数据量下的几个技巧数据量上到百万行pandas的性能问题就显现了。几个实用的优化手段第一用对数据类型。字符串列如果唯一值不多转成category类型能大幅省内存df[city] df[city].astype(category)第二避免循环。能用向量化操作就别用for循环两者性能差几十倍甚至上百倍。比如要判断金额等级用np.where或pd.cut比逐行判断快得多df[level] pd.cut(df[amount], bins[0, 100, 500, 1000, np.inf], labels[低, 中, 高, 超高])第三分块读取大文件。文件太大内存放不下时用chunksize分块处理for chunk in pd.read_csv(big_file.csv, chunksize100000): process(chunk)第四用query方法简化筛选。df.query(amount 1000 and city 北京)写起来比布尔索引简洁大数据量下性能也略好。6.3 输出结果别让最后一步掉链子分析完要导出结果to_csv和to_excel是常用方法df.to_csv(result.csv, indexFalse, encodingutf-8-sig) df.to_excel(result.xlsx, indexFalse, engineopenpyxl)indexFalse避免把索引也写进去这个几乎每次都要加。encodingutf-8-sig是给Excel看的带BOM头否则Excel打开中文会乱码。这个细节坑过很多人导出的CSV自己用代码读没问题发给同事用Excel打开全是乱码。导出Excel时如果数据量大openpyxl会比较慢可以考虑先导CSV再手动转或者用xlsxwriter引擎。6.4 调试技巧出错了怎么快速定位分析过程中报错是常态关键是快速定位。我的几个习惯先看df.shape和df.dtypes确认数据结构符合预期。很多错误其实是数据本身的问题不是代码逻辑的问题。用df.head()和df.sample(5)看实际数据长什么样比盯着报错信息猜有效得多。遇到类型错误用df[col].apply(type).value_counts()看看这一列到底混了哪些类型一目了然。分组聚合结果不对先df.groupby(key).size()看看每组的数量确认分组是否正确再检查聚合函数。这些方法看起来简单但能解决大部分日常问题。真正复杂的bug往往也是从这些基础检查里发现线索的。7. 从pandas到完整分析流程的衔接pandas本身只是数据处理工具真正产生价值的是把它嵌入到完整的分析流程里。一个典型的流程是数据读取→清洗→探索性分析→特征构造→可视化→建模或输出报告。pandas在探索性分析和特征构造环节是绝对主力。比如做用户分群先用groupby算出每个用户的消费频次、金额、最近购买时间RFM三个维度再用pandas做分位数切分就能快速给用户打上标签。这个过程用pandas写下来也就几十行代码但业务价值很高。可视化环节pandas自带的plot方法能快速出图df.groupby(month)[amount].sum().plot(kindline) df[category].value_counts().plot(kindbar)虽然样式不如专业可视化库精致但胜在快探索阶段够用了。正式报告再换Matplotlib或Seaborn精修。和scikit-learn衔接也很顺pandas的DataFrame可以直接喂给模型from sklearn.linear_model import LinearRegression model LinearRegression() model.fit(df[[feature1, feature2]], df[target])特征工程阶段用pandas做编码、标准化、缺失填充然后转成模型能吃的格式整个链路很流畅。我个人的体会是pandas学到最后难点不在API本身而在于对业务的理解。同样一份数据懂业务的人能构造出有价值的特征不懂业务的人只能做做基础统计。所以学pandas的同时一定要结合自己的业务场景去练拿真实数据反复折腾比刷一百个教程都管用。最后分享一个我常用的练习方法找一份自己感兴趣的公开数据集比如电商订单、电影评分、城市天气然后给自己提三个业务问题用pandas从头到尾分析一遍把过程和结论写成笔记。坚持做几份pandas就真正变成你自己的工具了。

相关新闻

基于MP2642GR-Z与STM32F410RB的两串电芯被动均衡方案实战

基于MP2642GR-Z与STM32F410RB的两串电芯被动均衡方案实战

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

2026/10/17 10:09:58 阅读更多 →
云函数+excel-export实现小程序Excel导出实战

云函数+excel-export实现小程序Excel导出实战

这个需求我接过不止一次了:运营要按天导出订单,客户要把报名名单拉出来给讲师看,管理员要把留言记录归档成 Excel 存档。在小程序里如果不想专门搭一套传统后端,最省事的路线就是“云函数 excel-export”——云函数负责查数据库、…

2026/10/17 10:09:58 阅读更多 →
用Python+Selenium实现OA自动打卡:从零到部署的完整实战指南

用Python+Selenium实现OA自动打卡:从零到部署的完整实战指南

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

2026/10/17 10:09:58 阅读更多 →

最新新闻

ENUM 和 SET:方便但有代价

ENUM 和 SET:方便但有代价

个人主页&#xff1a;> for_ever_love__ <&#xff08;欢迎各位大佬莅临&#x1f60a;&#xff09; 其他栏目: > 大模型开发从0到1 < 其他栏目: > iOS项目总结大全 < 其他栏目: > 我想学python了 < 其他栏目: > iOS UI < 文章目录ENUM 和 SET&am…

2026/10/17 10:45:08 阅读更多 →
第 10 章 Agent 安全与权限控制

第 10 章 Agent 安全与权限控制

前面几章已经让 Agent 能规划、执行、使用工具&#xff0c;也能被监控和追踪。但一个真正能上线的 Agent&#xff0c;还必须解决安全问题。可以把 Agent 想象成一个“新员工”&#xff1a;它能接收指令&#xff1b;它能调用工具&#xff1b;它能访问数据&#xff1b;它还能替你…

2026/10/17 10:45:08 阅读更多 →
Spring Boot酒店管理系统开发实战:从数据库设计到部署答辩全流程

Spring Boot酒店管理系统开发实战:从数据库设计到部署答辩全流程

接手过不少类似的酒店管理项目&#xff0c;说实话这类系统在毕设和课设里出现频率极高&#xff0c;但真正能把业务逻辑理清楚、部署跑通、论文还写得像样的并不算多。这篇内容我就以Spring Boot酒店管理系统为例&#xff0c;把从技术选型、数据库设计、核心代码实现&#xff0c…

2026/10/17 10:45:08 阅读更多 →
ODPS升级:AI原生全模态大数据基础设施

ODPS升级:AI原生全模态大数据基础设施

1. 这不是一次普通升级&#xff1a;当ODPS从“数据仓库”蜕变为AI原生底座“云栖2026 | ODPS 全面升级&#xff1a;构建AI原生的全模态大数据基础设施”——这个标题乍看是场技术发布会预告&#xff0c;但如果你在数据平台一线干过三年以上&#xff0c;第一反应绝不是点开日程表…

2026/10/17 10:45:08 阅读更多 →
Python tkinter文件拖入功能实现:tkinterdnd2实战与踩坑指南

Python tkinter文件拖入功能实现:tkinterdnd2实战与踩坑指南

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

2026/10/17 10:45:08 阅读更多 →
UVA10074最大全1矩形:最大子段和+DP降维详解

UVA10074最大全1矩形:最大子段和+DP降维详解

直接开始写&#xff0c;不废话。1. 这道题到底在问什么&#xff1a;从"夺回土地"说起第一次在 UVA 题库里看到 10074 这道题时&#xff0c;我的第一反应是被标题吸引住了。"Take the Land"&#xff0c;夺回土地&#xff1f;听起来像是某种策略游戏&#xf…

2026/10/17 10:44:07 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介&#xff1a;《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南&#xff0c;重点围绕V3与R1两款模型的能力差异与适用场景展开&#xff0c;帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件&#xff0c;压缩包大小约311KB&#xff0c;篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介&#xff1a;这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档&#xff0c;共收录两百余条可直接套用的润色指令&#xff0c;涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度&#xff0c;并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介&#xff1a;本资源是一份基于OpenCV的本科课程设计完整报告&#xff0c;面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生&#xff0c;解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/16 14:23:36 阅读更多 →