【pandas】教程:5-从已有数据中创建新列

news2024/11/17 23:56:36

Pandas 从已有的数据列中创建新列

  • 加载数据

本节使用的数据为 data/air_quality_no2.csv,链接为 pandas案例和教程所使用的数据-机器学习文档类资源-CSDN文库

在这里插入图片描述

在这里插入图片描述

  • 通过

假设在25°,1013hPa 压力下密度为 1.882

air_quality["london_mg_per_cubic"] = air_quality["station_london"] * 1.882
air_quality.head()
                     station_antwerp  station_paris  station_london  \
datetime                                                            
2019-05-07 02:00:00              NaN            NaN            23.0   
2019-05-07 03:00:00             50.5           25.0            19.0   
2019-05-07 04:00:00             45.0           27.7            19.0   
2019-05-07 05:00:00              NaN           50.4            16.0   
2019-05-07 06:00:00              NaN           61.9             NaN   

                     london_mg_per_cubic  
datetime                                
2019-05-07 02:00:00               43.286  
2019-05-07 03:00:00               35.758  
2019-05-07 04:00:00               35.758  
2019-05-07 05:00:00               30.112  
2019-05-07 06:00:00                  NaN  

[] 就可以创建新列,不需要使用循环,直接相乘,他们之间的乘积是逐元素的。

  • 计算 ParisAntwerp 的比例;
air_quality["ratio_paris_antwerp"] = (
    air_quality["station_paris"] / air_quality["station_antwerp"]
)
air_quality.head()
                     station_antwerp  station_paris  station_london  \
datetime                                                            
2019-05-07 02:00:00              NaN            NaN            23.0   
2019-05-07 03:00:00             50.5           25.0            19.0   
2019-05-07 04:00:00             45.0           27.7            19.0   
2019-05-07 05:00:00              NaN           50.4            16.0   
2019-05-07 06:00:00              NaN           61.9             NaN   

                     london_mg_per_cubic  ratio_paris_antwerp  
datetime                                                     
2019-05-07 02:00:00               43.286                  NaN  
2019-05-07 03:00:00               35.758             0.495050  
2019-05-07 04:00:00               35.758             0.615556  
2019-05-07 05:00:00               30.112                  NaN  
2019-05-07 06:00:00                  NaN                  NaN  

+,-,*,/ 和其他的逻辑运算 <, >, ==等等都是逐元素,不需要循环;
如果需要使用更多更广泛的函数,还可以使用 apply

  • 重命名列名
air_quality_renamed = air_quality.rename(
    columns={
        "station_antwerp": "BETR801",
        "station_paris": "FR04014",
        "station_london": "London Westminster",
    }
)
air_quality_renamed.head()
                     BETR801  FR04014  London Westminster  \
datetime                                                  
2019-05-07 02:00:00      NaN      NaN                23.0   
2019-05-07 03:00:00     50.5     25.0                19.0   
2019-05-07 04:00:00     45.0     27.7                19.0   
2019-05-07 05:00:00      NaN     50.4                16.0   
2019-05-07 06:00:00      NaN     61.9                 NaN   

                     london_mg_per_cubic  ratio_paris_antwerp  
datetime                                                     
2019-05-07 02:00:00               43.286                  NaN  
2019-05-07 03:00:00               35.758             0.495050  
2019-05-07 04:00:00               35.758             0.615556  
2019-05-07 05:00:00               30.112                  NaN  
2019-05-07 06:00:00                  NaN                  NaN  

记住

  1. 创建一个新列,并且赋值给输出,可以使用 []
  2. 不需要使用循环,因为他们都是逐元素的。
  3. 使用 rename 可以修改行标签或列名。

【参考】

How to create new columns derived from existing columns? — pandas 1.5.2 documentation (pydata.org)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/128709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java调用dubbo服务接口_Dubbo使用invoke指令来调用dubbo接口以及telnet命令连接Dubbo服务

java调用dubbo服务接口_Dubbo使用invoke指令来调用dubbo接口前言正文Mac使用telnet命令提示&#xff1a;command not found&#xff0c;Mac安装telnet 命令一、telnet是什么&#xff1f;二、telnet命令连接Dubbo服务显示列表 – ls显示服务端口和连接 – ps跳转服务 – cd显示当…

[虚幻引擎][UE][UE5]在UE5中使用线条画一颗简单的三维圣诞树(练习向)

TOP 一、前言 搞得不好看&#xff0c;简单了解一下叭。主要是在三维中使用线条。需要理解圆的方程式。 &#xff08;小声逼逼&#xff0c;后来还想搞个三维圆锥螺旋线写个点球点缀一下的&#xff0c;结果上网一搜没人给出方程式&#xff0c;只好不了了之了&#xff0c;有哪位…

Linux之从命令行管理文件

文章目录1. 使用ln命令&#xff0c;创建grading/grade1文件的硬链接&#xff0c;取名为/hardlink2. 使用ls -l 命令查看grading/grade1文件的链接数3. 使用ln -s命令&#xff0c;创建grading/grade2文件的软链接&#xff0c;取名为student/softlink4. 使用ls -l 命令查看studen…

简单随机多边形切割方案

过程化处理中希望能够对某块区域生成随机多边形&#xff0c;以及再切割成子多边形 各种尝试之后发现一种通过python、turtle、pyclipper实现的简单方案 随机多边形 采用python直接生成随机多边形&#xff0c;算法原理&#xff1a;将360度随机拆分成各个角度&#xff0c;再通过…

过年不让放炮,我用Python实现了1000响大地红的特效

同志们&#xff0c;马上&#xff08;后天&#xff09;就要2023年啦&#xff0c;您有没有对象啦哈哈哈 咳咳&#xff0c;搞错了~~再来 新的一年&#xff0c;新的气象&#xff0c;穿上新衣逛街 俗话说得好&#xff0c;这所谓放鞭炮就是来压邪祟&#xff0c;除恶的&#xff0c;…

web前端-javascript-DOM和BOM详解

文章目录DOM 和 BOM1. DOM2. BOM2.1 BOM 简介2.2 分类2.3 语法1) Navigator 当前浏览器2&#xff09;Histry 向前或向后翻页3&#xff09;Location 地址栏的信息DOM 和 BOM 1. DOM 浏览器已经为我们提供了文档节点的对象&#xff0c;这个对象是 window 对象的属性可以在页面中…

2023北京/深圳NPDP产品经理入门到精通班招生简章

NPDP产品经理国际资格认证是国际公认的唯一的新产品开发专业认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 我们针对互联网时代的个人、互联网企业、与传统企业推出一系列学习。 课程从…

喜上加喜|怿星科技荣获高工智能金球奖两项大奖

12月2日晚&#xff0c;2022第六届高工智能汽车金球奖年度颁奖典礼在上海虹桥正式开幕&#xff0c;来自行业内的100多家头部企业出席了此次盛会。 金球奖是由高工智能汽车组织的聚焦于汽车智能网联产业链的年度颁奖盛典。参选企业覆盖了汽车智能化创新公司、人工智能创新公司、传…

怎样把图片转化成jpeg格式?jpeg格式转换器分享

我们保存照片时发现有时候保存的图片为png格式或webp格式&#xff0c;而上传到其他平台的时候会有jpeg图片格式要求&#xff0c;那么就需要将图片转为jpeg&#xff0c;如何将图片格式转换&#xff08;在线图片格式转换器&#xff08;jpg、png、gif、webp、bmp、tiff&#xff09…

GoF23——工厂模式

✯ 面向对象设计原则 对接口编程而不是对实现编程优先使用对象组合而不是继承介绍说明 工厂模式&#xff08;Factory Pattern&#xff09;属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&am…

Java8并行流---并行数据处理与性能

Java8并行流---并行数据处理与性能0.主要内容1.并行流1.1将顺序流转换为并行流附录附录.10.主要内容 主要内容 用并行流并行处理数据 并行流的性能分析 分支/合并框架 使用Spliterator分割流 1.并行流 调用parallelStream方法来把集合转换为并行流。并行流就是一个把内容分成多…

pytorch应用(入门2) 一维线性回归

目录nn.Module&#xff08;模组&#xff09;torch.optim (优化)模型的保存和加载一维线性回归代码如下&#xff1a;均方差损失函数nn.MSELoss()model.parameters()的理解与使用torch.autograd.Variableoptimizer.zero_grad()model.eval的作用深度学习方法——pytorch下GPU与CPU…

如何设计一个好的工业产品?

许多人不知道工业设计的本质是什么?与工业设计相比&#xff0c;其本质是解决消费群体的相关问题&#xff0c;实现消费者的需求&#xff0c;使客户更容易选择。但是如何设计一个好的工业产品呢? 1.更加科学合理地摆脱困境 产品设计必须开拓进取。它应该能够引领时代潮流&#…

基础数学复习(2)——插值

文章目录插值和拟合的区别&#xff08;了解&#xff09;拉格朗日插值&#xff08;必考&#xff09;插值余项说不定会考的证明题拉格朗日插值缺点和适用范围&#xff08;了解&#xff09;牛顿插值&#xff08;必考&#xff09;推导差商的性质&#xff08;会考&#xff09;——通…

Java语法五:锁策略以及CAS

目录 1.常见的锁策略 2&#xff1a;Synchronized原理 2.1&#xff1a;加锁工作工程 2.2:其他的优化操作 2.2.1&#xff1a;锁消除 2.2.2&#xff1a;锁粗化 3.CAS 3.1&#xff1a;实现原子类 3.2&#xff1a;CAS中的ABA问题 3.2.1&#xff1a;什么是ABA问题 3.2.2&am…

【JavaScript】俄罗斯方块简单网页版

文章目录js制作简单网页版俄罗斯方块效果演示设计思路一、HTML网页结构代码二、CSS代码三、JS代码四、代码资源分享js制作简单网页版俄罗斯方块 程序虽然很难写&#xff0c;却很美妙。要想把程序写好&#xff0c;需要写好一定的基础知识&#xff0c;包括编程语言、数据结构与算…

在mac上搭建php的SNMP开发环境

前言 最近需要开发AC的snmp协议&#xff0c;需要开启php的snmp扩展&#xff0c;网上能搜索到的主要还是windows和centos下面的几篇资料。这里主要介绍下mac系统下如何搭建php的snmp开发环境。 第一步&#xff0c;安装php&#xff1a; 首先需要在mac上面安装PHP&#xff0c;这…

重点物联网漏洞利用情况

重点物联网 漏洞利用情况本节我们选取了两个漏洞进行分析。UPnP 相关的漏洞我们将在 4.4.3 进行分析&#xff0c;除去 UPnP 相关漏 洞外&#xff0c;被利用最多的是 Eir D1000 路由器的一个漏洞 [44]&#xff08;CVE-2016-10372&#xff09;&#xff0c;我们将对其进行分析。 …

第006课 - 使用vagrant快速创建linux虚拟机

使用vagrant快速创建linux虚拟机 项目中使用的环境,都是装在linux当中的,我们可以使用linux虚拟机。 https://www.virtualbox.org/ 直接双击进行安装运行。 CPU开启虚拟化 virtualbox安装需要我们的cpu开启虚拟化。 这个需要设置主板。 在开机启动的时候,找到cpu配置:…

什么是金手指,金手指的设计要求有哪些?

金手指&#xff08;connecting finger&#xff09;是电脑硬件如&#xff1a;&#xff08;内存条上与内存插槽之间、显卡与显卡插槽等&#xff09;&#xff0c;所有的信号都是通过金手指进行传送的。金手指由众多金黄色的导电触片组成&#xff0c;因其表面镀金而且导电触片排列如…