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

章节2 行走数据江湖,只需一行代码

目录

  • 6. 函数填充,计算列
    • 6.1 excel操作
    • 6.2 pandas操作1
    • 6.3 pandas操作2
  • 8. 数据筛选、过滤,[绘图前的必备功课]
    • 8.1 excel操作
    • 8.2 Python操作

http://sa.mentorx.net 蔓藤教育

6. 函数填充,计算列

书的编号、书的名字、标价、折扣、最终价钱
在这里插入图片描述
最终价钱Price=ListPrice * Discount = 标价 * 折扣

6.1 excel操作

在这里插入图片描述

6.2 pandas操作1

import pandas as pdbooks = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
print(books)

在这里插入图片描述
填充Price列,在excel中我们操作的是单元格,而pandas中我们操作的是列

  • 操作符的重载:比如下面的 *(乘号操作符),当它左右两边是两列时,它就把两列前后对其,一个单元格乘以一个单元格的乘起来。
import pandas as pdbooks = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
books['Price'] = books['ListPrice'] * books['Discount']
print(books)

在这里插入图片描述
乘以 一个数也是可以的:

import pandas as pdbooks = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
books['Price'] = books['ListPrice'] * 0.8
print(books)

在这里插入图片描述
用循环来迭代DataFrame:(有点类似excel的单元格对单元格操作)

import pandas as pdbooks = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
for i in books.index:books['Price'].at[i] = books['ListPrice'].at[i] * books['Discount'].at[i]
print(books)

在这里插入图片描述
运算的时候,不想从头到尾运算,而是从其中的某一段开始运算

import pandas as pdbooks = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
for i in range(5, 16):books['Price'].at[i] = books['ListPrice'].at[i] * books['Discount'].at[i]
print(books)

在这里插入图片描述

6.3 pandas操作2

现在,每本书要涨价2元,

import pandas as pdbooks = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
books['ListPrice'] = books['ListPrice'] + 2
print(books)

在这里插入图片描述
调用series的apply()函数来实现上面的功能:

import pandas as pddef add_2(x):return x + 2
books = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
books['ListPrice'] = books['ListPrice'].apply(add_2)
print(books)

将得到上图同样的结果。
进一步简化代码:

import pandas as pdbooks = pd.read_excel('C:/Temp/Books.xlsx', index_col='ID')
books['ListPrice'] = books['ListPrice'].apply(lambda x: x + 2)
print(books)

在这里插入图片描述

8. 数据筛选、过滤,[绘图前的必备功课]

8.1 excel操作

筛选,18<=年龄<=30的学生的分数状况,且分数>80的学生
在这里插入图片描述
全部选中,然后筛选即可。
在这里插入图片描述

8.2 Python操作

读取的时候,将 ‘ID’ 作为 index ,

import pandas as pdstudents = pd.read_excel('C:/Temp/Students.xlsx', index_col='ID')

在这里插入图片描述
筛选数据:用函数的形式来表达条件
pd.series有apply()方法,

import pandas as pdstudents = pd.read_excel('C:/Temp/Students.xlsx', index_col='ID')
students = students.loc[students['Age'].apply[age_18_to_30]]
print(students)

在这里插入图片描述

import pandas as pddef age_18_to_30(a):return 18 <= a <30def level_a(s):return 85 <=s <=100students = pd.read_excel('C:/Temp/Students.xlsx', index_col='ID')
students = students.loc[students['Age'].apply[age_18_to_30]].loc[students['Score'].apply(level_a)]
print(students)

在这里插入图片描述
另一种写法:

students = students.loc[students.Age.apply[age_18_to_30]].loc[students.Score.apply(level_a)]

在这里插入图片描述
进一步优化代码:

students = students.loc[students.Age.apply[lambda a: 18<=a<30]].loc[students.Score.apply(lambda s: 85<=s<=100)]

在这里插入图片描述
代码太长,可以打一个 空格+ ’ \ ',然后回车即可

students = students.loc[students.Age.apply[lambda a: 18<=a<30]] \
.loc[students.Score.apply(lambda s: 85<=s<=100)]

相关文章:

章节2 行走数据江湖,只需一行代码

目录6. 函数填充&#xff0c;计算列6.1 excel操作6.2 pandas操作16.3 pandas操作28. 数据筛选、过滤&#xff0c;[绘图前的必备功课]8.1 excel操作8.2 Python操作http://sa.mentorx.net 蔓藤教育6. 函数填充&#xff0c;计算列 书的编号、书的名字、标价、折扣、最终价钱 最终…...

springboot集成xx-job;

概念理解&#xff1a; xx-job是一个分布式任务调度平台。比如你有AB两个项目。 AB的定时任务就要在xx-job上个注册。同时AB要配置对应的依赖。 所以集成xx-job要分2步骤&#xff1a;第一步&#xff1a;先搭建xx-job服务 第二步&#xff0c;在A项目中导包并引用。 第一步&am…...

35岁,失业6个月终于接到降薪offer:有面就面,薪酬不限,随机应变说瞎话,对奇葩面试官保持礼貌克制,为拿offer什么都能忍...

被裁后为了生存&#xff0c;人需要做出什么改变&#xff1f;一位35岁网友在失业6个月后终于拿到offer&#xff0c;虽然降薪到四年前的水平&#xff0c;但能继续养家糊口&#xff0c;楼主已经很满意了&#xff0c;并分享了自己的个人经验&#xff1a;1.挖掘历史项目经验&#xf…...

如何有效管理项目进度 都有哪些解决方法

项目进度管理是确保项目按时完成的关键因素之一。如果一个项目不能按时完成&#xff0c;那么它可能会导致成本超支、客户不满意和失去信誉等问题。因此&#xff0c;有效的项目进度管理至关重要。在本文中&#xff0c;我们将探讨如何有效管理项目进度以及可以采取哪些解决方法。…...

互联网随想(三) 光纤与电路交换

光纤的 “纤”&#xff0c;读 xian(先)&#xff0c;第一声&#xff0c;而不是 qian(千)。 光纤之于通信&#xff0c;就像半导体之于计算机。光纤突破了通信的电子瓶颈&#xff0c;就像半导体集成电路突破了计算机的电子管瓶颈一样。 但本文不是赞美光纤的&#xff0c;本文为反…...

electron之旅(二)react使用

首先使用react模板 我们这里使用的是vite和yarn yarn create vite #创建vite的react-js模板初始化依赖 yarn添加依赖 state(状态管理) yarn add redux react-reduxroutes(react路由) yarn add react-router-domelectron依赖 yarn add electron vite-plugin-electron cross-env…...

ChatGPT基础知识系列之Prompt

ChatGPT基础知识系列之Prompt 在 ChatGPT 中,用户可以输入任何问题或者话题,如天气、体育、新闻等等。系统将这个输入作为一个“提示”(prompt)输入到 GPT 模型中进行处理。GPT 模型会基于其学习到的语言规律和上下文知识,生成一个自然语言回答,并返回给用户。 例如,当…...

SpringBoot3 - Spring Security 6.0 Migration

Spring Security 6.0 Migration https://docs.spring.io/spring-security/reference/5.8/migration/servlet/config.html 最近在做SpringBoot2.x到3.0的升级。其中最主要的一部分是javax -> jakartapackageName的变更&#xff0c;另外一部分是对一些废弃/删除的类进行替换。…...

【新2023Q2模拟题JAVA】华为OD机试 - 最少停车数

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最少停车数 题目 特定大小的…...

《代码实例前端Vue》Security查询用户列表,用户新增

login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>系统登录-超市订单管理系统</title><link rel"stylesheet" href"../css/style.css"><script type&qu…...

CANopenNode学习笔记(一)--- README翻译

CANopenNode学习笔记 文章目录CANopenNode学习笔记特性CANopen其他CANopenNode 流程图文件结构对象字典编辑器CANopenNode 是免费开源的CANopen协议栈。 CANopen是建立在CAN基础上的用于嵌入式控制系统的国际标准化(EN 50325-4) (CiA301)高层协议。有关CANopen的更多信息&#…...

关于Android 11、12和13服务保活问题

物联网环境&#xff0c;为了解决不同厂商、不同设备、不同网络情况下使用顺畅&#xff0c;同时也考虑到节约成本&#xff0c;缩小应用体积的好处&#xff0c;我们需要一个服务应用一直存在系统中&#xff0c;保活它以提供服务给其他客户端调用。 开机自启动&#xff0c;通过广播…...

Java 泛型 使用案例

参考资料 Java 基础 - 泛型机制详解路人甲-Java泛型专题 目录一. 通用Mapper1.1 实体类1.2 Mapper基类1.3 自定义接口1.4 抽象基类Service1.5 调用二. session和bean的获取一. 通用Mapper 1.1 实体类 ⏹ Accessors(chain true): 允许链式调用 import lombok.Data; import …...

进程与线程

文章目录什么是线程线程与进程的关系线程与进程的区别什么是线程 上一篇文章中我们介绍了什么进程&#xff0c;我们把进程比作一个工厂&#xff0c;那么线程就是工厂中的流水线。引入进程的目的就是为了实现多个任务并发执行&#xff0c;但是如果频繁的创建销毁进程&#xff0…...

骑友,怎么挑选适合自己的赛事

骑友&#xff0c;怎么挑选适合自己的赛事一、从场地、路况、天气&#xff0c;各个方面了解赛事的要求。二、看完赛事&#xff0c;要知道自己适合参加什么样的比赛。三、通过比赛成绩&#xff0c;对比自己的实力。四、综合考虑自己的经济能力&#xff0c;根据自己的经济能力选择…...

【Java 数据结构与算法】-遍历Map和Set的方式

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【Java 数据结构与算法】 文章目录一、遍历Map法一 先获取Map集合的全部key的set集合&#xff0c;遍历map的key的Set集合法二 把map的key和value打包成Set的key后的这个Set集合法…...

组件、套件、 中间件、插件

组件、套件、 中间件、插件 组件 位于框架最底层&#xff0c;是由重复的代码提取出来合并而成。组件的本质&#xff0c;是一件产品&#xff0c;独立性很强&#xff0c;组件的核心&#xff0c;是复用&#xff0c;与其它功能又有强依赖关系。 模块 在中台产品和非中台产品中&…...

自动化工具 pytest 内核测试平台落地初体验

测试平台&#xff0c;有人说它鸡肋&#xff0c;有人说它有用&#xff0c;有人说它轮子&#xff0c;众说纷纭&#xff0c;不如从自身出发&#xff0c;考虑是否要做测试平台&#xff1a; 第 1 阶段&#xff0c;用 Pythonrequests 写接口自动化。 第 2 阶段&#xff0c;选择 unit…...

Python 自动化指南(繁琐工作自动化)第二版:四、列表

原文&#xff1a;https://automatetheboringstuff.com/2e/chapter4/ 在开始认真编写程序之前&#xff0c;您需要理解的另一个主题是列表数据类型及其表亲元组。列表和元组可以包含多个值&#xff0c;这使得编写处理大量数据的程序更加容易。由于列表本身可以包含其他列表&#…...

大数据领域的发展及其对现实世界的价值

大数据已经成为全球各行业领域不可或缺的一部分&#xff0c;并且其应用不断涌现。尽管很多人最初对“大数据”这一术语表示怀疑和不信任&#xff0c;但大数据技术已经确立了稳定的发展方向。根据调研机构的预测&#xff0c;到2027年&#xff0c;全球大数据市场规模将达到1090亿…...

如何从碎片化信息中构建系统性科研认知?

在科研工作中&#xff0c;我们常常面临这样一种困境&#xff1a;每天通过各种渠道接触到海量的学术信息&#xff0c;这些信息如同散落的拼图碎片&#xff0c;虽然珍贵&#xff0c;却难以自动拼凑成一幅完整的画面。对于许多科研人员而言&#xff0c;难以形成系统认知是一个巨大…...

线程与进程的区别与联系:操作系统入门详解(含 Python 示例)

、先搞懂&#xff1a;进程与线程到底是什么&#xff1f;&#xff08;通俗类比官方定义&#xff09; 1.1 生活化类比&#xff1a;快速建立认知 如果把计算机的操作系统比作一个大型工厂&#xff1a; 进程&#xff1a;就是工厂里的一个个独立车间。每个车间有自己专属的生产资…...

Java实现Redis延迟队列:从原理到高可用架构

在现代分布式系统中&#xff0c;延迟队列是一种至关重要的组件。它允许我们将消息或任务放入队列&#xff0c;直到指定的延迟时间到达后才被消费。这种机制广泛应用于订单超时自动取消、支付后定时发送通知、任务重试等场景。 虽然RabbitMQ和RocketMQ等专业消息中间件都支持延迟…...

PDF-Parser-1.0保姆级教程:5分钟搞定PDF文档智能解析,小白也能快速上手

PDF-Parser-1.0保姆级教程&#xff1a;5分钟搞定PDF文档智能解析&#xff0c;小白也能快速上手 1. 为什么选择PDF-Parser-1.0&#xff1f; 你是否遇到过这些烦恼&#xff1a; 从PDF复制文字到Word后格式全乱表格数据粘贴后变成一堆乱码论文里的数学公式无法编辑双栏排版的文…...

告别手动复制粘贴:MeterSphere参数提取功能详解,让你的接口自动化测试效率翻倍

MeterSphere参数提取实战&#xff1a;构建动态接口测试链的三大高阶技巧 在持续集成环境中&#xff0c;接口自动化测试往往面临一个关键挑战&#xff1a;如何让不同接口之间实现数据动态传递&#xff1f;传统的手动复制粘贴不仅效率低下&#xff0c;更难以应对复杂业务场景。Me…...

FRCRN命令行工具使用详解:从音频文件到降噪输出的完整流程

FRCRN命令行工具使用详解&#xff1a;从音频文件到降噪输出的完整流程 你是不是也遇到过这种情况&#xff1f;手头有一堆录音文件&#xff0c;背景里混杂着各种杂音——可能是空调的嗡嗡声、键盘的敲击声&#xff0c;或者是窗外的车流声。手动处理这些音频不仅费时费力&#x…...

告别VirtualBox默认20G!保姆级教程:从创建到动态扩容,打造你的专属开发环境

从零规划VirtualBox磁盘空间&#xff1a;开发环境搭建的黄金法则 刚接触VirtualBox的新手开发者们&#xff0c;是否曾在项目进行到一半时突然发现磁盘空间不足&#xff1f;那种被迫中断工作流程去处理存储问题的体验&#xff0c;足以毁掉一天的开发效率。本文将带你从源头规避这…...

3分钟上手!Balena Etcher:安全烧录系统镜像的终极解决方案

3分钟上手&#xff01;Balena Etcher&#xff1a;安全烧录系统镜像的终极解决方案 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 你是否曾因烧录系统镜像而丢失…...

APK Studio安全最佳实践:合规使用逆向工程工具

APK Studio安全最佳实践&#xff1a;合规使用逆向工程工具 【免费下载链接】apkstudio Open-source, cross platform Qt based IDE for reverse-engineering Android application packages. 项目地址: https://gitcode.com/gh_mirrors/ap/apkstudio 在移动应用开发与安全…...

从零构建CPWC超声成像仿真:Field II实战与模块化工作流解析

1. CPWC超声成像仿真入门指南 第一次接触CPWC超声成像仿真时&#xff0c;我被各种专业术语和复杂的数学公式搞得晕头转向。经过几个月的实战摸索&#xff0c;终于总结出一套小白也能快速上手的方法。CPWC&#xff08;相干平面波复合&#xff09;是近年来超声成像领域的热门技术…...