Pandas DataFrame新增一列

一、直接赋值

二、df.apply()方法

三、np.where()方法

四、df.assign()方法

五、按照条件选择分组分别赋值

在进行数据分析时,经常需要按照一定的条件创建新的数据列,然后进行进一步分析。

#直接赋值
#方法一:增加值为空的新列
df['D']=''  #增加D列,并赋值为空值。

#方法二:根据已有列增加新列
df['D']=df['A']//10 #新建列D。A列数据除以10取整,结果放到D列
df['D']=df['A']>85 #新建列D。数据为True或False

将传入的 func应用到每一列或每一行,进行元素级别的运算。

#df.apply()方法

df['D']=df.apply(lambda x: 'yes' if x['A']>50 else 'no',axis=1) #新增D列,A列>50,则D为yes,否则为no.

#axis=1,按行操作。axis=0,按列操作

def get_wendu_type(x):
    if x['bWendu'] > 33:
        return "高温"
    elif x['yWendu'] < -10:
        return "&#x4F4E;&#x6E29;"
    else:
        return "&#x5E38;&#x6E29;"

&#x6CE8;&#x610F;&#x9700;&#x8981;&#x8BBE;&#x7F6E;axis--1,&#x8FD9;&#x65F6;Series&#x7684;index&#x662F;columns
df.loc[:, 'wendu_type'] = df.apply(get_wendu_type, axis=1) #apply&#x8C03;&#x7528;&#x81EA;&#x5B9A;&#x4E49;&#x51FD;&#x6570;&#xFF0C;&#x65B0;&#x5EFA;&#x5217;&#x3002;&#x5F53;&#x2019;bWendu'&#x5217;>33&#xFF0C;&#x8D4B;&#x503C;&#x2018;&#x9AD8;&#x6E29;&#x2019;&#xFF1B;&#x5F53;'yWendu'&#x5217;<10,赋值'低温';其余赋值'常温'< code></10,赋值'低温';其余赋值'常温'<>
#np.where()&#x65B9;&#x6CD5;
df['D']=np.where(df.['A]>50, 'yes','no')

df.assign(** kwargs)#创建或修改列并添加到原数据中。

参数: #kwargs:关键字值对(列名,[函数,系列,标量或数组])

返回:df

#df.assign()&#x65B9;&#x6CD5;
df_huashi = df.assign(
    yWendu_huashi=lambda x: x['yWendu'] * 9 / 5 + 32,
    bWendu_huashi=lambda x: x['bWendu'] * 9 / 5 + 32)

df=pd.DataFrame({'A':[31,32,33],'B':[41,42,43]})
df.assign(B=df.A, C=lambda x:x['A']+ x['B'])# &#x5173;&#x952E;&#x5B57;&#x53C2;&#x6570;&#x76F8;&#x4E92;&#x4F9D;&#x8D56;&#x4F4D;&#x7F6E;Python3.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;

   A  B  C
0 31 31 62
1 32 32 64
2 33 33 66
#&#x6839;&#x636E;&#x5DF2;&#x6709;&#x5217;&#x6761;&#x4EF6;&#x7B5B;&#x9009;&#xFF0C;&#x521B;&#x5EFA;&#x65B0;&#x5217;
df.loc[df['A']>50,'D']='yes' #&#x7B5B;&#x9009;A&#x5217;&#x5927;&#x4E8E;50&#x7684;&#x884C;&#xFF0C;D&#x5217;&#x4E0D;&#x5B58;&#x5728;&#xFF0C;&#x5219;&#x65B0;&#x5EFA;D&#x5217;&#x5E76;&#x76F8;&#x5E94;&#x884C;&#x8D4B;&#x503C;yes&#xFF0C;&#x5176;&#x4F59;&#x884C;&#x503C;&#x4E3A;Nan&#xFF1B;D&#x5217;&#x5B58;&#x5728;&#xFF0C;&#x5219;D&#x5217;&#x91CD;&#x65B0;&#x8D4B;&#x503C;&#x3002;
df.loc[(df['A']>50)&(df['B']>80)&(df['C'].isin(['A','B'])),'D']='yes' #&#x6839;&#x636E;&#x591A;&#x5217;&#x6761;&#x4EF6;&#x7B5B;&#x9009;

参考文章:

Original: https://blog.csdn.net/m0_64336020/article/details/122130294
Author: python-小卒
Title: Pandas DataFrame新增一列

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/751119/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Scrapy 源码剖析(四)Scrapy 如何完成抓取任务?

    微信搜索关注「水滴与银弹」公众号,第一时间获取优质技术干货。7年资深后端研发,用简单的方式把技术讲清楚。 上一篇文章:Scrapy 源码剖析(三)Scrapy 有哪些核心组件?,我…

    Python 2023年10月5日
    060
  • Python绘图基础:设置主、副刻度线

    今天通过过一个简单的实列,简单说明如何控制坐标轴上的主、副刻度线的参数: 宽度、高度、方向、间隔。 全部代码在文末。 1:导入我们所需要的库 import numpy as np …

    Python 2023年8月30日
    046
  • drf — 版本管理类

    为了方便版本管理,drf为我们提供了5个版本管理类 QueryParameterVersioning (将版本信息以URL参数的形式传递) URLPathVersioning (将…

    Python 2023年6月10日
    077
  • Python模块和包的管理

    Python工程的结构 ; 模块 1.什么是模块 ​ 模块(Module)是一个扩展名为.py的Python文件,这个文件中包含许多功能函数或类,多个模块可以通过包组织。通过在当前…

    Python 2023年9月24日
    038
  • 第一个Python程序 | 机选彩票号码+爬取最新开奖号码

    (机选彩票号码+爬取最新开奖号码 | 2021-04-21) 学习记录,好记不如烂笔头这个程序作用是 自动获取最新的三种彩票的开奖号码 随机生成三种彩票类型的号码 注册 登录 密码…

    Python 2023年6月12日
    065
  • ChatGPT成精了!

    最近几天,朋友圈、公众号都被 ChatGPT 刷屏了。 更有不少标题党吹嘘 “谷歌要完,百度也危了”。 那么它到底有没有网上吹的这么神奇呢? 我亲测了一把,…

    Python 2023年11月4日
    041
  • pandas向已经拥有数据的Excel文件中添加新数据

    不知道大家有没有过相同的经历,就是我们向 Excel表格中添加新数据的时候,经常会导致原先拥有的数据被覆盖掉了,那么如何解决这个问题呢,这里给出一种可行的方法。阅读此篇的基础是先理…

    Python 2023年8月7日
    057
  • 驱动开发:内核中的链表与结构体

    Windows内核中是无法使用 vector容器等数据结构的,当我们需要保存一个结构体数组时,就需要使用内核中提供的专用链表结构 LIST_ENTRY通过一些列链表操作函数对结构体…

    Python 2023年6月11日
    071
  • Python数据挖掘 数据预处理案例(以航空公司数据为例)

    Python数据预处理 一、内容: 1、数据清洗2、数据集成3、数据可视化 二、实验数据 根据航空公司系统内的客户基本信息、乘机信息以及积分信息等详细数据,依据末次飞行日期( LA…

    Python 2023年10月7日
    094
  • GitHub车牌检测识别项目调研

    文章首发于我的 github 仓库-cv算法工程师成长之路,欢迎关注我的公众号-嵌入式视觉。 一,EasyOCR 1.1,仓库介绍 1.2,使用记录 二,HyperLPR 2.1,…

    Python 2023年10月28日
    037
  • 1、什么是pytest

    1、主要有以下几个特点 简单灵活,容易上手 支持参数化 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytes…

    Python 2023年9月10日
    064
  • pyqt5+matplotlib结合使用,以及完美解决其出现的图像不更新问题

    问题描述: 做一个项目的小软件的时候需要利用计算出来的数值绘制图像,搜索之后发现可以利用matplotlib.backends.backend_qt5agg中的FigureCanv…

    Python 2023年9月2日
    092
  • 【论文导读】- Communication-Efficient Learning of Deep Networks from Decentralized Data(高通信效率的去中心化的深度网络学习)

    文章目录 论文信息 摘要 主要内容(contributions) FederatedAveraging * 联邦学习 隐私 联邦优化 联邦平均算法(FedAVG) 论文信息 Com…

    Python 2023年9月30日
    041
  • OpenMV入门

    1. 什么是OpenMV OpenMV 是一个开源,低成本,功能强大的 机器视觉模块。 OpenMV上的机器视觉算法包括 寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等。 以S…

    Python 2023年10月26日
    053
  • Python爬取各大外包网站需求

    文章目录 前言 一、需求 二、分析 三、处理 四、总结 前言 为了更好的掌握数据处理的能力,因而开启Python网络爬虫系列小项目文章。 小项目小需求驱动 总结各种方式 页面源代码…

    Python 2023年7月31日
    069
  • Docker安装Redis并使用Another Redis Desktop Manager连接

    🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡 进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯…

    Python 2023年8月12日
    0126
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球