【Pandas入门教程】如何从现有列派生新列

news2024/11/17 21:42:35

如何从现有列派生新列

来源:Pandas官网:https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html
笔记托管:https://gitee.com/DingJiaxiong/machine-learning-study

在这里插入图片描述

文章目录

    • 如何从现有列派生新列
        • 导包
        • 数据集准备
        • 【1】如何创建从现有列派生的新列
        • 【小结】

导包

import pandas as pd

数据集准备

同样使用之前用过的空气质量数据

air_quality = pd.read_csv("air_quality_no2.csv", index_col=0, parse_dates=True)
air_quality.head()
station_antwerpstation_parisstation_london
datetime
2019-05-07 02:00:00NaNNaN23.0
2019-05-07 03:00:0050.525.019.0
2019-05-07 04:00:0045.027.719.0
2019-05-07 05:00:00NaN50.416.0
2019-05-07 06:00:00NaN61.9NaN

【1】如何创建从现有列派生的新列

在这里插入图片描述

我想表达 N O 2 NO_2 NO2 伦敦车站的浓度,单位为 m g / m 3 mg/m^3 mg/m3.

【(如果我们假设温度为 25 摄氏度,压力为 1013 hPa,则转换因子为 1.882)】举个栗子都这么严谨,这就是官方文档

air_quality["london_mg_per_cubic"] = air_quality['station_london'] * 1.882
air_quality.head()
station_antwerpstation_parisstation_londonlondon_mg_per_cubic
datetime
2019-05-07 02:00:00NaNNaN23.043.286
2019-05-07 03:00:0050.525.019.035.758
2019-05-07 04:00:0045.027.719.035.758
2019-05-07 05:00:00NaN50.416.030.112
2019-05-07 06:00:00NaN61.9NaNNaN

要创建新列,在作业的左侧使用带有新列名称的 [] 括号。

【注意】值的计算是按元素完成的。这意味着给定列中的所有值一次乘以值 1.882。您不需要使用循环来迭代每一行!

在这里插入图片描述

我想检查巴黎与安特卫普的值比率,并将结果保存在新列中。

air_quality["ratio_paris_antwerp"] = (air_quality["station_paris"] / air_quality["station_antwerp"])
air_quality.head()
station_antwerpstation_parisstation_londonlondon_mg_per_cubicratio_paris_antwerp
datetime
2019-05-07 02:00:00NaNNaN23.043.286NaN
2019-05-07 03:00:0050.525.019.035.7580.495050
2019-05-07 04:00:0045.027.719.035.7580.615556
2019-05-07 05:00:00NaN50.416.030.112NaN
2019-05-07 06:00:00NaN61.9NaNNaNNaN

计算再次按元素进行,因此 / 应用于每行中的值.

其他数学运算符(+,-,*,/,…)或逻辑运算符(<,>,==,…)也按元素工作。

【注意】如果你需要更高级的逻辑,你可以通过apply()使用任意的Python代码.

我想将数据列重命名为 OpenAQ 使用的相应工作站标识符.

air_quality_renamed = air_quality.rename(
    columns={
        "station_antwerp": "BETR801",
        "station_paris": "FR04014",
        "station_london": "London Westminster",
    }
)
air_quality_renamed.head()
BETR801FR04014London Westminsterlondon_mg_per_cubicratio_paris_antwerp
datetime
2019-05-07 02:00:00NaNNaN23.043.286NaN
2019-05-07 03:00:0050.525.019.035.7580.495050
2019-05-07 04:00:0045.027.719.035.7580.615556
2019-05-07 05:00:00NaN50.416.030.112NaN
2019-05-07 06:00:00NaN61.9NaNNaNNaN

rename() 函数可用于行标签和列标签。提供一个字典,其中包含当前名称的键和新名称的值以更新相应的名称。

映射不应仅限于固定名称,还可以是映射函数。例如,也可以使用函数将列名转换为小写字母:

air_quality_renamed = air_quality_renamed.rename(columns=str.lower)
air_quality_renamed.head()
betr801fr04014london westminsterlondon_mg_per_cubicratio_paris_antwerp
datetime
2019-05-07 02:00:00NaNNaN23.043.286NaN
2019-05-07 03:00:0050.525.019.035.7580.495050
2019-05-07 04:00:0045.027.719.035.7580.615556
2019-05-07 05:00:00NaN50.416.030.112NaN
2019-05-07 06:00:00NaN61.9NaNNaNNaN

【小结】

通过将输出分配给数据帧来创建新列,并在[].

操作是按元素进行的,无需遍历行。

使用rename或函数重命名来重命名行标签或列名称。

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

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

相关文章

C++——STL之stack和queue详解

C——STL之stack和queue详解&#x1f3d0;什么是stack和queue&#x1f3d0;stack和queue的实现&#x1f3c0;什么是deque&#x1f3c0;stack的模拟实现&#x1f3c0;queue的模拟实现&#x1f3d0;优先级队列&#xff08;priority_queue)&#x1f3c0;优先级队列的实现⚽push⚽p…

Spring Authorization Server1.0 介绍与使用

一、版本使用 1、Java&#xff1a;17或者更高的版本。 2、springboot 3.0 3、Spring Authorization Server 1.0版本。 <dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-oauth2-authorization-server</ar…

使用proxy_pool来为爬虫程序自动更换代理IP

文章目录1. 前言2. 教程3. 官网4. 在线demo4.1. 本地部署4.2. 安装4.2.1. Python源码构建安装4.2.1.1. 安装redis数据库4.2.1.1.1. 下载redis源码4.2.1.1.2. 启动redis服务4.2.1.1.3. 安装redis服务4.2.1.1.4. 再次通过命令启动redis服务4.2.1.1.5. 测试redis服务是否可用4.2.1…

node.js+uni计算机毕设项目基于微信小程序的车位共享系统LWPPT(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等…

C语言程序设计--银行管理系统

主界面 登入界面 #include <stdio.h> #include <malloc.h> #include <conio.h> #include <time.h> #include <windows.h> #define MB_ICONINFORMATION MB_ICONASTERISK //对 错误 struct account_information /…

腾讯云轻量应用服务器使用Matomo 应用镜像搭建网站流量统计系统!

Matomo 是一款开源的网站数据统计软件&#xff0c;可以用于跟踪、分析您的网站的流量&#xff0c;同时充分保障数据安全性、隐私性。该镜像基于 CentOS 7.6 64位操作系统&#xff0c;已预置 Nginx、MariaDB、PHP 软件。本文介绍如何使用 Matomo 快速搭建您的网站流量统计系统。…

【文本检测】2、DBNet++ | 为 DBNet 引入多级特征图聚合模块 ASF

文章目录一、背景二、方法2.1 Adaptive Scale Fusion (ASF) 模块2.2 Binarization2.3 Adaptive Threshold2.4 Deformable Convolution2.5 Label Generation2.6 Optimization三、效果论文&#xff1a;Real-Time Scene Text Detection with Differentiable Binarization and Adap…

Hadoop综合项目——二手房统计分析(可视化篇)

Hadoop综合项目——二手房统计分析&#xff08;可视化篇&#xff09; 文章目录Hadoop综合项目——二手房统计分析&#xff08;可视化篇&#xff09;0、 写在前面1、数据可视化1.1 二手房四大一线城市总价Top51.2 统计各个楼龄段的二手房比例1.3 统计各个城市二手房标签的各类比…

人工智能轨道交通行业周刊-第27期(2022.12.12-12.25)

本期关键词&#xff1a;虚拟中台、智轨、数字员工客服、钢轨光带异常、小目标检测 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨…

4、前端笔记-JS-数据类型

1、数据类型简介 1.1为什么需要数据类型 不同的数据占用的存储空间不同&#xff0c;为了充分利用存储空间&#xff0c;便于把数据分成所需内存大小不同的数据&#xff0c;定义了不同的数据类型 1.2变量的数据类型 js是弱类型&#xff08;动态语言&#xff09;的语言&#x…

这12类Oracle日期函数,全都给你总结了

在使用Oracle数据库过程中&#xff0c;对日期的使用不可避免&#xff0c;那Oracle中的日期函数有哪些呢&#xff1f;本篇就日期函数进行整理了&#xff0c;不一定全部了解记住&#xff0c;但是要做到心中有数&#xff0c;以后在写脚本的时候就不会绕弯子了。 1、sysdate、curr…

大话设计模型 Task05 状态、适配、单例

目录一、状态模式问题描述问题分析模式定义代码实现二、适配器模式问题描述问题分析模式定义代码实现三、单例模式问题描述问题分析模式定义代码实现一、状态模式 问题描述 假设我们要描述一名员工一天不同时间的工作状态&#xff0c;正常来看是比较简单的&#xff0c;直接从…

卡塔尔世界杯半自动越位识别技术(SAOT)的工作原理

随着卡塔尔世界杯的深入举行&#xff0c;半自动越位识别技术 (Semi-automated offside technology&#xff0c;简称为 SAOT) 这项数字技术正在被越来越多的国内外球迷所熟知。 作为 VAR(Video Assistant Referee&#xff0c;视频助理裁判) 的扩展&#xff0c;SAOT 的引入是为了…

腾讯云轻量应用服务器使用 OpenFaaS 部署云函数!

OpenFaaS 是开源的流行 FaaS&#xff08;Function-as-a-Service&#xff0c;函数即服务&#xff09;框架&#xff0c;OpenFaaS 让开发者聚焦业务代码的编写&#xff0c;无需过多关注语言框架、部署、配置等其他步骤。 轻量应用服务器 Lighthouse 为您提供了 OpenFaaS 应用镜像…

C语言程序设计--个人账簿管理系统

目的在于&#xff1a; 为编码人员提供依据&#xff1b;为修改、维护提供条件&#xff1b;项目负责人将按计划书的要求布置和控制开发工作全过程&#xff1b;项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。 本说明书的预期读者包括&#xff1a; 项目开发人员&…

车用DC-DC模块 1224V转5V2A过认证大塑料外壳

名称&#xff1a;车用12V转5V2A电源转换器 型号&#xff1a;LM40J5V2A3S 性质&#xff1a;非隔离型的BUCK电源转换器&#xff0c; 特点&#xff1a;采用集成IC设计&#xff0c;具有转换效率高&#xff0c;体积小&#xff0c;稳定可靠的特点&#xff0c;采用灌胶工艺&#xf…

Arcgis使用教程(十三)ARCGIS地图制图之地图输出参数设置详解

目录 1.加载数据 2.页面大小设置 2.1 根据页面大小设置地图 2.2 根据固定比例尺设置页面大小 1.加载数据 在Arcmap中加载中国矢量图层数据&#xff08;中国省级行政区图&#xff0c;国界线两个图层&#xff09;&#xff0c;切换到Layout View窗口&#xff0c;设置地图符号要…

jvm-sandbox-repeater环境搭建

引流回放这个技术现在真的越来越成为了很多公司测试同学必备的一个工具了。当然引流回放的技术有很多&#xff0c;比如下来会提到的jvm-sandbox-repeater。 当然你也可以通过日志分析解析的方式去获取到请求返回的信息等。因为刚听过testerhome开发者大会&#xff0c;好几个主题…

不愧是阿里内部的「排序和数据结构学习笔记」面面俱到、太全了

算法——成为程序员强者的必经之路 算法到底有多重要不必多说&#xff0c;说「算法正在统治世界」也不为过。 在编程行业内&#xff0c;有句话是这么说的「薪资越高、算法越重要」&#xff0c;互联网头部企业花费了大量的时间和金钱&#xff0c;用来研究新算法&#xff0c;不…

Python pandas有几千个库函数,你用过几个?(6)

上一篇链接&#xff1a; Python pandas有好几百个库函数&#xff0c;你都用过吗&#xff08;5&#xff09;_Hann Yang的博客-CSDN博客 DataFrame 类方法&#xff08;211个&#xff0c;其中包含18个子类、2个子模块&#xff09; >>> import pandas as pd >>&g…