解码 Pandas 中的 one-hot 数据帧

2024-03-08

我有 2 个数据框,数据如下:

df1:
====
id   name   age   likes
---  -----  ----  -----
0     A      21    rose
1     B      22    apple
2     C      30    grapes
4     D      21    lily

df2:
====
category    Fruit   Flower 
---------  -------  -------
orange      1        0
apple       1        0       
rose        0        1
lily        0        1
grapes      1        0

我想做的是向 df1 添加另一列,其中包含单词“Fruit”或“Flower”,具体取决于 df2 中该条目的 one-hot 编码。 我正在寻找纯粹的 pandas/numpy 实现。

任何帮助,将不胜感激。

Thanks!


您可以使用apply() https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html为了那个原因:

df1['type_string'] = df2.apply(lambda x: 'Fruit' if x.Fruit else 'Flower', 1)  

这是一个运行示例:

import pandas as pd
from io import StringIO

df1 = pd.read_csv(StringIO(
"""
0     A      21    rose
1     B      22    apple
2     C      30    grapes
4     D      21    lily
"""), sep='\s+', header=None)

df2 = pd.read_csv(StringIO(
"""
orange      1        0
apple       1        0       
rose        0        1
lily        0        1
grapes      1        0
"""), sep='\s+', header=None)

df1.columns = ['id', 'name', 'age', 'likes']
df2.columns = ['category', 'Fruit', 'Flower']

df1['category'] = df2.apply(lambda x: 'Fruit' if x.Fruit else 'Flower', 1)

Input

   id name  age   likes
0   0    A   21    rose
1   1    B   22   apple
2   2    C   30  grapes
3   4    D   21    lily

Output

   id name  age   likes category
0   0    A   21    rose    Fruit
1   1    B   22   apple    Fruit
2   2    C   30  grapes   Flower
3   4    D   21    lily   Flower
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解码 Pandas 中的 one-hot 数据帧 的相关文章

随机推荐

  • 将 GridView 与 ImageView 和 TextView 一起使用时出现问题

    我正在尝试在每个单元格内使用带有 ImageView 和 TextView 的 GridView 所以我当然创建了单元格布局 网格布局 imageAdapter 和主要活动 但我不断遇到以下问题 当我在模拟器上尝试此操作时 初始图像和标题显
  • 为什么C++中函数指针地址以bool类型打印?

    以下代码输出1 但我希望它输出函数的地址add 出了什么问题 include
  • HTML/CSS - 右对齐和左对齐在同一行?

    首先 我知道有一些方法可以使文本位于同一行 但我不知道如何扩展这一点 这是我到目前为止所拥有的 我怎样才能在不使用表格的情况下实现它 这是 HTML 部分 p class details a href Top To Top a p p cl
  • 我们可以将多个 html5

    我有两个视频 一个用于流式传输我的webcam另一个共享我的桌面屏幕 窗户 我需要合并这两个媒体流合而为一 这样我就可以将其另存为 mp4 文件并广播它WebRTC 我能够将两者结合起来VIDEO 流 标签通过将它们限制为DIV tag d
  • MacOS 10.6 (Snow Leopard) 上的 sdl-config 安装在哪里

    安装后SDL http www libsdl org release SDL 1 2 14 dmg and SDL 开发 http www libsdl org release SDL devel 1 2 14 extras dmg在 Ma
  • 识别 R 函数和脚本的依赖关系

    我正在筛选一个包和使用该包的脚本 并希望识别外部依赖项 目标是修改脚本以指定library pkgName 并修改包中的函数以使用require pkgName 这样以后这些依赖关系就会更加明显 我正在修改代码以考虑每个外部依赖包 举个例子
  • Visual Studio 2012 中的 WebApi2

    如何在 Visual Studio 2012 中创建使用 WebApi2 的项目 我必须使用空白项目进行创建还是必须创建 MVC 项目 我不想安装 Visual Studio 2013 预览版 请帮忙 你需要安装适用于 Visual Stu
  • 在Mac上通过ssh连接到亚马逊AWS Linux服务器

    我创建了一个新的密钥对并将其下载到我的 Mac 然后使用该密钥对和我的安全组设置了一个新的 Amazon Linux AMI 服务器 现在我需要将下载的密钥对 pem 文件放入用户文件夹中的 ssh 文件中 然而 由于名称的原因 我无法创建
  • Swift 能抵抗 hooking 吗?

    Cycript 是一个基于控制台的应用程序 它是 Objective C 和 JavaScript 的混合体 Cycript 对于 iOS 应用程序的动态分析非常有用 如果您使用 Swift 编写任何方法或完整的 ipa 是否仍然可以在越狱
  • Zend_View_Helper 与 Zend View 部分脚本

    这是我的岔路口 我想在我的网页上显示某种按钮 并且我想在很多地方这样做 这个 按钮 实际上只是充当指向其他页面的链接 并且所有按钮实例都将转到一个页面 我希望所有按钮都相同 除了它们的大小之外 现在 我应该使用带有按钮 html 的部分脚本
  • Django 和 eBay 风格的多列表

    我正在尝试模仿 eBay 的多列表功能 基本上 eBay 允许用户指定他们选择的两种变体 例如size and color 每个变体都会有不同的数据 例如 Color red green Size 12 9 然后它会变得有点混乱 例如 qu
  • 在 Google Chrome 中激活麦克风时出错

    我尝试启用麦克风以允许用户录制音频 但出现此错误 未捕获的类型错误 无法读取未定义的属性 getUserMedia 在激活麦克风 navigator mediaDevices getUserMedia audio true video fa
  • iOS 7:标签栏控制器的不同导航项目

    我对 iOS 应用程序开发还比较陌生 目前我正在开发一个带有标签栏的小应用程序 我面临的问题是我希望每个选项卡都有不同的导航项目 我尝试了很多事情 但事情都不起作用 我正在使用原生 iOS 语言进行编程 在我的应用程序中 我有一个 AppD
  • 如何通过获取用户输入的日期来查找两个日期之间的日差

    我需要通过获取日期作为用户输入来查找两个日期之间的天数差异 我尝试使用获取日期raw input但我收到错误 我正在使用 2 7 版本的 python import time from datetime import date day1 i
  • 编译器会排除未使用的模板代码吗?

    当您使用具有多种方法 例如向量 的模板并编译代码时 编译器会丢弃未使用的方法中的代码吗 除非使用模板 否则不会实例化模板 因此实际上没有任何代码可以丢弃 标准说 14 7 1 10 实现不得隐式实例化不需要实例化的函数模板 成员模板 非虚成
  • 查找两个字符串之间的公共子串

    我想比较两个字符串并保留匹配的字符串 在比较失败的地方分开 所以如果我有 2 个字符串 string1 apples string2 appleses answer apples 另一个例子 因为字符串可能有多个单词 string1 app
  • emacs 是否可以突出显示 80 个以上的字符? [复制]

    这个问题在这里已经有答案了 我在这里看到了一些解决方案 如果超过 80 个字符 它们会突出显示整行 并且还会执行line wrap一旦该行变得大于 80 我想做的是编辑我的 emacs文件 以便超过 80 个字符的任何字符都呈现不同的背景
  • c 中的模拟器/生成的 switch 语句范围

    是否有 hack 来支持 c 99 或 Objective C switch 语句中的范围情况 我知道不支持这样写 switch x case 1 case 2 10 case 11 但我认为应该有一种方法可以使用 define 宏生成代码
  • 如何统计用户输入中字母的频率?

    当用户在 Ruby 中输入类似单词时 如何计算 supercaliforniamightly 中出现的字母的频率 并打印出星星或星号来计算出现的字母数量 这是我的代码 puts Enter string text gets chomp te
  • 解码 Pandas 中的 one-hot 数据帧

    我有 2 个数据框 数据如下 df1 id name age likes 0 A 21 rose 1 B 22 apple 2 C 30 grapes 4 D 21 lily df2 category Fruit Flower orange