根据数据框中的信息在 Pandas 数据框中创建变量

2024-01-03

我有一个按以下方式组织的数据框

    var1   var2   var3   var4
0   A      23     B      7
1   B      13     C      4
2   C      12     A      11
3   A      5      C      15

我现在想要创建一个新变量(列)var5,如果 var1 == A,它采用 var2 的值;如果 var3 == A,它采用 var4 的值。为简单起见,var1 和 var3 永远不能同时具有值​​ A。如果 var1 或 var3 都不采用值 A,那么我想要 NaN。也就是说,本例中的结果将是:

    var1   var2   var3   var4  var5
0   A      23     B      7     23
1   B      13     C      4     NaN
2   C      12     A      11    11
3   A      5      C      15    5

如何才能实现这一目标?


Option 1
听起来你可以使用np.where为了这 -

i = df.var1 == 'A'
j = df.var3 == 'A'
df['var5'] = np.where(i, df.var2, np.where(j, df.var4, np.NaN))
df

  var1  var2 var3  var4  var5
0    A    23    B     7  23.0
1    B    13    C     4   NaN
2    C    12    A    11  11.0
3    A     5    C    15   5.0

Option 2
另一种选择是np.select -

df['var5'] = np.select([i, j], [df.var2, df.var4], default=np.nan)
df

  var1  var2 var3  var4  var5
0    A    23    B     7  23.0
1    B    13    C     4   NaN
2    C    12    A    11  11.0
3    A     5    C    15   5.0

Note, i and j与代码清单中定义的变量相同Option 1.


Option 3
pd.Series.mask/where

df.var2.mask(~i, df.var4.mask(~j, np.nan))

0    23.0
1     NaN
2    11.0
3     5.0
Name: var2, dtype: float64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据数据框中的信息在 Pandas 数据框中创建变量 的相关文章

  • 如何使用固定的 pandas 数据框进行动态 matplotlib 绘图?

    我有一个名为的数据框benchmark returns and strategy returns 两者具有相同的时间跨度 我想找到一种方法以漂亮的动画风格绘制数据点 以便它显示逐渐加载的所有点 我知道有一个matplotlib animat
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • 向同一台计算机上的多个客户端发送多播消息

    我正在尝试编写一个服务器 服务 它每秒左右在局域网上广播一条消息 有点像服务发现 该消息需要由以下人员接收 多个客户端程序可能是 在同一台机器上或不同的机器上 机器 但可能不止 每台机器上运行一个程序 同一时间 我正在使用 delphi 7
  • 使用Python提取嵌套括号中的句子

    我有多个 txt目录中的文件 这是一个示例one of my txt files kkkkk select xx xE PUT xx xxxx jdfjhf jhfjj from xxxx x xx L quit 1 xxxxx FROM
  • 有没有办法强制 mongodb 将某些索引存储在 ram 中?

    我有一个具有相对较大索引的集合 但小于可用内存 并查看该集合上 find 的性能以及 htop 给出的系统中的可用内存量 似乎 mongo 没有在内存中存储完整索引 有没有办法强制 mongo 将这个特定索引存储在内存中 查询示例 gt d
  • 如何在 SQL Server 中包含可选的空参数

    我想创建一个存储过程 它在过程的 WHERE 部分有一个可选参数 我的 C 代码可以为此过程传入 null 或有效的产品 ID 这里是 declare ProductID int set ProductID null select from
  • 等待可重入锁中的条件

    以下代码摘自Java文档的Condition http docs oracle com javase 1 5 0 docs api java util concurrent locks Condition html class Bounde
  • 我怎样才能用maven看到jboss控制台

    我用maven2启动了jboss 5 1 0 GA服务器 是否有可能我可以看到控制台中发生了什么 我正在使用 eclipse 插件来运行 Maven 是否可以在 eclipse 或其他地方看到控制台 这就是我所说的控制台的意思 是否可以在某
  • 如果响应为404,如何使用Service Worker缓存跨域资源?

    w3 6 2 跨源资源和 CORS 应用程序倾向于缓存来自 CDN 或其他来源的项目 可以直接使用请求其中许多
  • CGPDF iPhone/iPad 内存问题

    多年来 我一直在努力尝试为 iPhone iPad 制作一个可用的 PDF 阅读器 但它永远不会停止消耗内存 看来所有用CGContextDrawPDFPage绘制的页面都被内部缓存起来 永远不会释放 我不是唯一一个遇到这个问题的人 htt
  • 临时表列列表 (MySQL)

    我需要在 MySQL 中获取某些临时表 MyISAM 的列表列 例如number column name column 我需要知道具有特定名称的列数 事先 我不知道列数是多少 我正在使用动态 sql 和一些变量来创建临时表 我不能使用sho
  • 多重矩阵乘法

    在 numpy 中 我有一个 N 3x3 矩阵的数组 这是我如何存储它们的示例 我正在抽象内容 N 10 matrices np ones N 3 3 我还有一个 3 向量数组 这是一个例子 vectors np ones N 3 我似乎无
  • 失败:Microsoft.AspNetCore.SpaServices[0]

    Asp net core 2 1 Angular 6应用程序 在我的Start cs文件 我们有 app UseSpa spa gt To learn more about options for serving an Angular SP
  • 函数/函子作为模板参数。它们可以存储吗?

    想象我有以下自由函数和函子 void myFreeFunction void cout lt lt Executing free function lt lt endl struct MyFunctor void operator void
  • Java - 调用屏幕键盘

    我正在开发的应用程序将在Windows 7上运行 它将用于通过触摸屏输入一些信息 每当提示用户输入信息时 我需要弹出一个屏幕键盘 我的问题是 我应该从头开始创建一个键盘类还是应该使用 Windows 7 内置屏幕键盘以及如何在 Java 应
  • 具有非标量输出的 Numpy 矢量化函数

    我正在尝试对输出列表的函数进行矢量化 我希望将 numpy 列表中的所有值提供给它 并让它返回一个矩阵 这样每一行都是输入向量中元素的输出 import numpy as np def func x n o for i in range n
  • uiautomator - 当我验证每个列表项中的文本时,无法让 ListView 滚动。当我点击屏幕上的最后一个项目时,它就失败了

    我正在尝试验证 ListView 中每个列表项中的文本 并逐一向下滚动 以便我可以验证每个列表项 但由于某种原因 我无法让它继续滚动列表来验证每个元素 有没有人有幸自动化这种操作 这是我能做到的最接近的 如果这还不够 请告诉我 UiScro
  • Docker 中使用 capybara 和 headless selenium 浏览器进行 Rails 系统测试

    TL DR 关于如何正确配置 capybara 以便能够使用默认的 Rails minitest 系统测试在 docker 容器中驱动远程 selenium 浏览器 您有什么想法吗 我在 dockerized 环境中运行 Rails 现在我
  • 如何通过浏览弹出窗口设置路径?

    我有下面的脚本 其中有两个路径 一个是目标路径 只有一个 另一个是源路径 变量 关于下面的脚本函数 我将每月运行一次 它将转到源路径 10 路径 并复制最新文件 然后复制并重命名到目标路径 所有文件通用 注意 从响应源复制的文件应按照脚本重
  • 从 javascript 客户端连接到 asp.net core signalR 服务器

    我有 asp net core web api 服务器正在传输信号器 它适用于 asp net 客户端 我试图与下面显示的代码建立连接 但它只连接到非核心服务器 它不适用于核心服务器 the hub class in the server
  • isset() 和 PHP 全局变量

    关于全局变量初始化 function hello testing global conditional random if isset conditional random echo foo is inside 全局变量 condition
  • 根据数据框中的信息在 Pandas 数据框中创建变量

    我有一个按以下方式组织的数据框 var1 var2 var3 var4 0 A 23 B 7 1 B 13 C 4 2 C 12 A 11 3 A 5 C 15 我现在想要创建一个新变量 列 var5 如果 var1 A 它采用 var2