10.09日学习内容
1.pandas数据的写入与输出代码import pandas as pd #读取数据 dfpd.read_csv(data/sales.csv,usecols[订单号,产品类别,产品名称,销售数量,单价]) #数据处理 df[销售金额]df[销售数量]*df[单价] #写入数据---to_csv df.to_csv(data/sales01.csv,indexFalse) df2.数据的查看、选择及过滤代码# 数据查看---head,tail,describe,info,shape,columns df1pd.read_csv(data/sales.csv,usecols[订单号,产品类别,产品名称,销售数量,单价]) df1.head(10)#显示前10行数据 df1.tail(10)#显示后10行数据 df1.describe()#显示数据的统计信息 df1.info() #显示数据信息列名非空计数数据类型等 df1.shape #显示数据形状行数列数 df1.columns #显示列名#数据选择 df2pd.read_csv(data/sales.csv,usecols[订单号,产品类别,产品名称,销售数量,单价]) #1.选择列 #1.1单列 # df2[产品名称,单价] # df2.产品名称 #1.2多列 # df2[[产品名称,单价]] # df2[[产品类别,产品名称,单价]] #2.选择行-- loc,iloc #2.1 iloc---基于行号选择行不包含结束位置语法df2.iloc[start:stop:step] # df2.iloc[0:5:1] # df2.iloc[0:5] #2.2 loc---基于索引选择行包含结束位置语法df2.loc[start:stop:step] df2.loc[0:5:1]过滤df3pd.read_csv(data/sales.csv) #配置项用于展示所有的数据 #pd.set_option(display.max_rows, None)#显示所有行 #数据过滤 #1. 获取 销售数量 10 的订单数据 df3[df3[销售数量]10] #2. 获取产品类别为 食品 或 图书 的订单数据 # df3[df3[产品类别].isin([食品,图书])] df3[(df3[产品类别]食品)|(df3[产品类别]图书)] #3. 获取 单价在 100-200 之间 的订单数据 # df3[df3[单价].between(100,200)]#默认包含边界若是不希望包含则利用 inclusiveright/left/neither的方式来设定 df3[(df3[单价]100)(df3[单价]200)] #4. 获取 销售数量 8 并且 单价 100 的订单数据 df3[(df3[销售数量]8)(df3[单价]100)] #5. 获取 产品类别为 服装 / 食品 支付方式为 支付宝 /信支付 的订单数据 df3[(df3[产品类别].isin([服装,食品]))(df3[支付方式].isin([支付宝,信支付]))]3.数据清洗代码示例import pandas as pd pd.set_option(display.min_rows, 30) #1.读取数据 dfpd.read_csv(data/sales.csv) #2.数据清洗 #2.1缺失值处理 # df.isnull() # df.dropna()#删除包含缺失值的行 # df.dropna(axis1)#删除包含缺失值的列 # df #2.1.2 填充缺失值 #df.fillna(--)#填充缺失值用--代替 #df.ffill()#填充缺失值填充上一行数据 #df.bfill()#填充缺失值填充下一行数据 #2.2重复值的处理 #2.2.1查看重复值 #df.duplicated()#查看重复值所有列的数据都相同 #df.duplicated(subset[订单号])#查看重复值订单号列的数据都相同 #2.2.2删除重复值 #df.drop_duplicates(subset[订单号], keepfirst)# keepfirst默认值保留第一个删除后续重复值.keep为False时表示两个都不保留#2.3异常值的处理 #2.3.1查看异常值 #df[df[单价]0] #2.3.2删除异常值 #df.drop(df[df[单价]0].index) #2.3.3修复异常值 # df[单价]df[单价].abs() # df#2.4数据格式转换 df[订单日期]df[订单日期].str.replace(/,-) df## 1. isnull () /dropna () /fillna () /ffill () /bfill () —— 缺失值处理 - **isnull()**检测缺失值。返回一个与原数据形状相同的布尔值 DataFrame/Series凡是缺失的位置NaN、None、NA标记为 True正常值为 False。常用于定位 哪里有空值配合 sum() 统计每列缺失数量。 - **dropna()**删除缺失值。默认删除**含任何缺失值的行**可加参数 axis1 删列、howall 只删整行全空的、subset 指定只在某些列判断。 - **fillna()**填充缺失值。用指定值或统计值把空位填上如 fillna(0)、fillna(df.mean())、fillna(未知)。 - **ffill()**前向填充forward fill。用**前面最近的一个有效值**向下填充空位适合时间序列里 沿用上一个值 的场景等价于 fillna(methodffill)。 - **bfill()**后向填充backward fill。用**后面最近的一个有效值**向上填充空位等价于 fillna(methodbfill)适合末尾缺失需要后续值回填的情况。 ## 2. duplicated () /drop_duplicates () —— 重复值处理 - **duplicated()**检测重复行。返回布尔序列True 表示该行与前面某行重复。默认保留**第一次出现**的行之后重复的行标记为 True可用 subset 指定按某几列判断重复keepFalse 让所有重复行都标 True。 - **drop_duplicates()**删除重复行。默认保留每个重复组里的第一行其余删除同样支持 subset 指定列、keeplast 保留最后一行。 ## 3. df [xx] df [xx].abs () —— 取绝对值 把 xx 这一列的所有数值取绝对值后写回原列。作用是**清洗异常负值**比如金额、数量、误差值不该为负却出现负数时强制转为非负避免后续统计被负值干扰。返回结果直接覆盖该列。 ## 4. df [xxx].str.replace (/, -) —— 字符串替换 用 .str 访问器对 xxx 这一列的每个字符串做替换把其中所有 / 换成 -。作用是**统一格式**最典型的是日期格式标准化如把 2020/01/01 统一成 2020-01-01方便排序、比较或入库。4.排序代码import pandas as pd #1.读取数据 dfpd.read_csv(data/sales.csv,nrows10) #2.排序 #2.1根据 销售数量排序 #df.sort_values(销售数量, ascendingFalse)#默认是升序ascendingFalse表示降序 #2.2根据单价升序排序 #df.sort_values(单价, ascendingTrue) #df.sort_values(单价) #2.3 根据 价格 升序排序价格一样再根据销售数量 倒序排序 df.sort_values([单价, 销售数量], ascending[True, False]) df.sort_values([单价, 销售数量], ascending[True, True])

相关新闻

AllData搭建数据治理平台,集成开源项目OpenDataWorks/Datavines/OpenMetaData,建设数据资产平台、数据质量平台、元数据管理平台(一)

AllData搭建数据治理平台,集成开源项目OpenDataWorks/Datavines/OpenMetaData,建设数据资产平台、数据质量平台、元数据管理平台(一)

►顶部微信名片可直接添加市场总监,商务咨询、方案沟通即时响应 ►点击链接了解更新详情:演示体验、社群咨询、商务采购: https://docs.qq.com/doc/DVHlkSEtvVXVCdEFo 日常中是否有这样的烦恼?数据分散在各个业务系统&#xff0c…

2026/10/11 12:32:16 阅读更多 →
lstm案例:酒店评论情感分析(手把手教学)

lstm案例:酒店评论情感分析(手把手教学)

数据准备(在我资源库里)基础接入import warnings # 警告控制库: 屏蔽程序运行时无关的警告信息.import pandas as pd # 数据处理库: 读写数据, 数据处理.import numpy as np # 数值计算库: 数组处理, 数值计算import jie…

2026/10/11 10:28:24 阅读更多 →
免重建改JSON:REDox可变Token DOM的Version机制设计哲学

免重建改JSON:REDox可变Token DOM的Version机制设计哲学

免重建改JSON:REDox可变Token DOM的Version机制设计哲学 【免费下载链接】REDox High-performance, token-based structured data engine for .NET. A core component of REX, the technology behind CAPCOMs next-generation game engine. 项目地址: https://gitcode.com/gh…

2026/10/11 12:34:53 阅读更多 →

最新新闻

Open Science Desktop的ACP协议详解:与Codex、Claude Code、Zed双向互通的原理与实践

Open Science Desktop的ACP协议详解:与Codex、Claude Code、Zed双向互通的原理与实践

【免费下载链接】open-science Open Science Desktop — local-first, model-agnostic AI research workbench for macOS, Windows & Linux. Open-source Claude Science desktop alternative built on Tauri MCP agent skills. 项目地址: https://gitcode.co…

2026/10/11 13:12:50 阅读更多 →
在广东试了十几个背单词小程序,我踩过的坑比你想的深

在广东试了十几个背单词小程序,我踩过的坑比你想的深

先说个背景。我在广州做了四年英语培训,带过的学员从初中生到准备出国的职场人都有。广东背单词小程序品牌这两年冒出来特别多,地铁上、电梯里、短视频里全是广告。我一开始还挺高兴,觉得工具多了是好事。结果真带着学员挨个试下来&#xff0…

2026/10/11 13:12:50 阅读更多 →
把Hope Agent部署成7x24在线的个人服务:Docker自托管NAS/云VPS与远程访问完整教程

把Hope Agent部署成7x24在线的个人服务:Docker自托管NAS/云VPS与远程访问完整教程

【免费下载链接】hope-agent 🦭 A cross-device desktop AI agent with memory, autonomous goals, dynamic workflows, and headless deployment | 会记忆、能持续推进目标、会动态编排多 Agent 的跨端桌面 AI 助手,也可服务化常驻 NAS / 云端 项目地址…

2026/10/11 13:12:50 阅读更多 →
Jmeter接口测试实战:从HTTP基础到参数化、断言与压测

Jmeter接口测试实战:从HTTP基础到参数化、断言与压测

1. 项目概述:接口测试为什么要选Jmeter先开门见山说结论:用Jmeter做HTTP接口测试,是目前中小团队和个人测试最“性价比”的选择之一。你不需要写一段复杂的Java代码,不需要维护一套平台,只要把Jmeter装好,按…

2026/10/11 13:12:50 阅读更多 →
K8s离线部署flannel镜像包全攻略:从拉取到导入避坑

K8s离线部署flannel镜像包全攻略:从拉取到导入避坑

简介:这份资源面向正在搭建 Kubernetes 集群、需要为节点配置网络插件的运维与开发人员,解决 k8s 安装过程中 flannel 网络组件镜像难以获取、离线环境拉取不便的问题。压缩包共 3 个文件,以 2 个 tar 镜像包和 1 个 yaml 清单为主&#xff0…

2026/10/11 13:12:50 阅读更多 →
面对模糊需求如何落地项目?从rea代号拆解到技术选型与实现

面对模糊需求如何落地项目?从rea代号拆解到技术选型与实现

1. 当标题只剩三个字母:一次“信息真空”下的项目复盘拿到“rea”这个标题的时候,我第一反应是愣了一下。没有项目正文,没有关键词,没有摘要描述,连热搜词和网络热词都是空的。换句话说,这是一个几乎零信息…

2026/10/11 13:11:50 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/10 10:38:42 阅读更多 →