按索引合并两个数据帧

2023-12-26

我有以下数据框:

> df1
  id  begin conditional confidence discoveryTechnique  
0 278    56       false        0.0                  1   
1 421    18       false        0.0                  1 

> df2
   concept 
0  A  
1  B

如何合并索引以获得:

  id  begin conditional confidence discoveryTechnique concept 
0 278    56       false        0.0                  1       A 
1 421    18       false        0.0                  1       B

我这么问是因为据我了解merge() i.e. df1.merge(df2)使用列来进行匹配。事实上,这样做我得到:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 4618, in merge
    copy=copy, indicator=indicator)
  File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 58, in merge
    copy=copy, indicator=indicator)
  File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 491, in __init__
    self._validate_specification()
  File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 812, in _validate_specification
    raise MergeError('No common columns to perform merge on')
pandas.tools.merge.MergeError: No common columns to perform merge on

在索引上合并是不好的做法吗?难道不可能吗?如果是这样,如何将索引转移到名为“index”的新列中?


Use merge http://pandas.pydata.org/pandas-docs/stable/generated/pandas.merge.html,默认情况下是内连接:

pd.merge(df1, df2, left_index=True, right_index=True)

Or join http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.join.html,默认情况下是左连接:

df1.join(df2)

Or concat http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html,默认情况下是外连接:

pd.concat([df1, df2], axis=1)

Samples:

df1 = pd.DataFrame({'a':range(6),
                    'b':[5,3,6,9,2,4]}, index=list('abcdef'))

print (df1)
   a  b
a  0  5
b  1  3
c  2  6
d  3  9
e  4  2
f  5  4

df2 = pd.DataFrame({'c':range(4),
                    'd':[10,20,30, 40]}, index=list('abhi'))

print (df2)
   c   d
a  0  10
b  1  20
h  2  30
i  3  40

# Default inner join
df3 = pd.merge(df1, df2, left_index=True, right_index=True)
print (df3)
   a  b  c   d
a  0  5  0  10
b  1  3  1  20

# Default left join
df4 = df1.join(df2)
print (df4)
   a  b    c     d
a  0  5  0.0  10.0
b  1  3  1.0  20.0
c  2  6  NaN   NaN
d  3  9  NaN   NaN
e  4  2  NaN   NaN
f  5  4  NaN   NaN

# Default outer join
df5 = pd.concat([df1, df2], axis=1)
print (df5)
     a    b    c     d
a  0.0  5.0  0.0  10.0
b  1.0  3.0  1.0  20.0
c  2.0  6.0  NaN   NaN
d  3.0  9.0  NaN   NaN
e  4.0  2.0  NaN   NaN
f  5.0  4.0  NaN   NaN
h  NaN  NaN  2.0  30.0
i  NaN  NaN  3.0  40.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按索引合并两个数据帧 的相关文章

  • Mypy 无法从文字列表推断项目的类型

    我有一个变量x和一个文字列表 例如 0 1 2 我想转换x这些文字之一 如果x在列表中 我将其退回 否则我返回一个后备值 from typing import Literal Set Foo Literal 0 1 2 foos Set F
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • 如何过滤 Pandas GroupBy 对象并获取 GroupBy 对象?

    当对 Pandas groupby 操作的结果执行过滤时 它返回一个数据帧 但假设我想执行进一步的分组计算 我必须再次调用 groupby 这似乎有点绕 有更惯用的方法吗 EDIT 为了说明我在说什么 我们无耻地从 Pandas 文档中窃取
  • 协程从未被等待

    我正在使用一个简单的上下文管理器 其中包含一个异步循环 class Runner def init self self loop asyncio get event loop def enter self return self def e
  • 如何确保 re.findall() 停止在正确的位置?

    这是我的代码 a import re re findall r lt title gt lt title gt a 结果是 title aaa
  • Python Tkinter 模块不显示输出

    我正在尝试学习 Python 并尝试使用 Python 中的 GUI 并遇到了这个 Tkinter 模块 我的代码运行 但运行时窗口没有出现 我的代码如下 from Tkinter import to create a root windo
  • 如何使用scrapy检查网站是否支持http、htts和www前缀

    我正在使用 scrapy 来检查某些网站是否工作正常 当我使用http example com https example com or http www example com 当我创建 scrapy 请求时 它工作正常 例如 在我的pa
  • 运行 Python 单元测试,以便成功时不打印任何内容,失败时仅打印 AssertionError()

    我有一个标准单元测试格式的测试模块 class my test unittest TestCase def test 1 self tests def test 2 self tests etc 我的公司有一个专有的测试工具 它将作为命令行
  • 根据其他单元格值更改多个单元格值

    我想更改包含的单元格moving to movingToOpenor movingToClose基于下一个单元格中给出的状态 有时循环会被中断并且不会从open to close or close to open 这是我当前的数据框 Dat
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • 是否需要关闭没有引用它们的文件?

    作为一个完全的编程初学者 我试图理解打开和关闭文件的基本概念 我正在做的一项练习是创建一个脚本 允许我将内容从一个文件复制到另一个文件 in file open from file indata in file read out file
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • XPath:通过当前节点属性选择当前和下一个节点的文本

    首先 这是从我之前的问题 https stackoverflow com questions 5202187 xpath select current and next nodes text by current node attribut
  • 为什么 __dict__ 和 __weakref__ 类从未在 Python 中重新定义?

    类创建似乎从来没有re 定义 dict and weakref class属性 即 如果它们已经存在于超类的字典中 则它们不会添加到其子类的字典中 但始终re 定义 doc and module class属性 为什么 gt gt gt c
  • minizinc python 安装

    我通过 anaconda 提示符在 python 上安装了 minizinc 就像其他软件包一样 pip install minizinc 该软件包表示已成功安装 我可以导入该模块 但是 我正在遵循基本示例https minizinc py
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • Google Apps 脚本 JDBC 连接问题

    我在 google apps 脚本中使用 jdbc 连接器连接到任何 mysql 数据库时遇到问题 我正在使用教程代码 var conn Jdbc getConnection jdbc mysql host or ip 3306 datab
  • Windows 10 - System.Speech.Synthesis 无法获取移动版语音

    在我的 Windows 10 语言中 我安装了 2 个英语版本 US 英国 因此 在 设置 gt 时间和语言 gt 语音 中 在 文本转语音 部分下 我可以看到以下选项 微软大卫移动 微软乔治移动 微软苏珊移动 微软榛子移动 微软 Zira
  • 将 PDF 插入 Excel、Python

    我编写了一个 python 脚本 用于创建包含各种计算的电子表格 我想进一步将 pdf 插入电子表格 pdf 是理想的 但 jpeg 也可用 我翻遍了xlwt 没有找到任何东西 谁能建议一种方法来实现这一目标 要实际插入 PDF 您可能只需
  • 为瘦服务器和 sinatra 启用 SSL

    我正在尝试为我的瘦服务器 Web 应用程序启用 SSL 以便它可以通过 HTTPS 运行 我已完成以下操作 启动瘦网络服务器 我的应用程序 运行 主机 gt 127 0 0 1 端口 gt 9090 sslenable gt true ss
  • 使用ADT和SDK管理器,将android源代码附加到eclipse

    安装ADT后 我使用SDK Manager下载最新的android API的源代码 现在 当我运行ADT附带的Eclipse版本时 我仍然看不到android源代码 有没有简单的方法来解决这个问题 打开SDK Manager gt 在api
  • 如何在运行时从 NUnit 测试运行中获取单元测试方法属性?

    我将有关给定测试的各种信息 多个错误跟踪系统的 ID 存储在属性中 如下所示 TestCaseVersion 001 B 8345 X543 public void TestSomethingOrOther 为了在测试过程中获取这些信息 我
  • 如何以编程方式为视图分配 ID?

    在 XML 文件中 我们可以为视图分配一个 ID 例如android id id something 然后打电话findViewById 但是当以编程方式创建视图时 如何分配 ID I think setId 与默认分配不同 setId 是
  • 使用动态而不是反射来按名称调用方法

    使用 NET 4 0 我将如何使用 Dynamic 来完成以下任务而不使用反射 public void InvokeMethod string methodName Type t typeof GCS WebService GCS WebS
  • 如何从为结果启动的活动返回字符串

    我已经启动了结果活动 但如何从该活动返回类似参数的字符串 只需使用以下代码块 Intent intent new Intent intent putExtra RESULT STRING string setResult RESULT OK
  • 通过点击图像(jquery 或 javascript)动态生成地图区域坐标

    我想知道是否有一种方法可以通过单击图像的某些部分来动态生成地图区域坐标 这是为了生成完整的图像图 举个例子 我有这张图片 单击此处查看图像 http mauricio lairet es otr plano jpg 通过单击它 我想为每个定
  • 切片类型的切片

    我目前正在努力通过优秀的围棋之旅 https tour golang org 我使用以下解决方案完成了其中一项练习 45 func Pic dx dy int uint8 pic make uint8 dy type declaration
  • 使用带有大 int 的 cython 时出现 OverflowError

    python 3 4 Windows 10 cython 0 21 1 我正在用 cython 将此函数编译为 c def weakchecksum data Generates a weak checksum from an iterab
  • 将字体大小转换为英寸

    我需要在之间进行转换Drawing Font Size 浮动 和 WPFFontSize 双精度 WPF 像素 最后 我决定将字体大小 以英寸为单位 存储在数据库中 如何将 GDI FontSize 转换为英寸 将 WPF FontSize
  • 展平相同类型的嵌套列表

    假设我想展平相同类型的嵌套列表 例如 ListA Element A Element B ListA Element C Element D ListB Element E Element F ListA包含相同类型的嵌套列表 ListA
  • 在 YAML 中构建字典项数组?

    基本上尝试在 yaml 中执行一些可以使用此 json 完成的操作 models model a type x bunch of properties model b type y bunch of properties 到目前为止 这就是
  • XD 代理 Facebook

    我正在使用 facebook connect 登录我的网站 在我的 html 页面中我编写代码 div div
  • Jenkins 和 Artifactory 的 Nuget 登录错误

    遇到问题Nuget Jenkins and 人工工厂 似乎无法获取Jenkins管道来识别Nuget配置 什么在起作用 使用我正在尝试阅读的帐户登录神器 查看我尝试访问的存储库和工件 使用 nuget 命令行访问存储库并在出现提示时输入用户
  • 返回新的 LINQ 对象

    我想编写 LINQ 它返回新对象 string int 包含 字符串 位置名称 int 位置计数 Output PositionA 8 PostionB 12 PostionC 13 这是我到目前为止所拥有的 public List
  • Android Studio 2022.2.1:网络检查器数据不可用

    我正在使用最新最好的 Android Studio 版本 Android Studio Flamingo 2022 2 1 Build AI 222 4459 24 2221 9862592 built on March 31 2023 R
  • 按索引合并两个数据帧

    我有以下数据框 gt df1 id begin conditional confidence discoveryTechnique 0 278 56 false 0 0 1 1 421 18 false 0 0 1 gt df2 conce