如何使用 Pandas 在 Python 中按索引合并 DataFrame?

Susan Sarandon
发布: 2024-11-01 17:35:02
原创
175 人浏览过

How do you merge DataFrames by index in Python using Pandas?

按索引合并数据帧

按索引合并数据帧是一项简单的任务,使我们能够根据相应的索引组合数据集。当数据集共享一组公共行标签时,这种方法是有利的。

要按索引合并数据帧,我们有几个选项:

1。合并函数

pd.merge 函数默认提供内部联接,允许我们在索引上进行合并:

<code class="python">import pandas as pd

df1 = pd.DataFrame({
    'id': [278, 421],
    'begin': [56, 18],
    'conditional': [False, False],
    'confidence': [0.0, 0.0],
    'discoveryTechnique': [1, 1]
})

df2 = pd.DataFrame({
    'concept': ['A', 'B']
})

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

print(result)</code>
登录后复制

输出:

   id  begin conditional confidence discoveryTechnique concept
0 278    56       False        0.0                  1       A
1 421    18       False        0.0                  1       B
登录后复制

2. Join 函数

df.join 方法提供了默认的左连接:

<code class="python">result = df1.join(df2)

print(result)</code>
登录后复制

输出:

   id  begin conditional confidence discoveryTechnique   concept
0 278    56       False        0.0                  1       A
1 421    18       False        0.0                  1       B
2   665    48       False        0.0                  0      NaN
3  1007    19       False        0.0                  2      NaN
4  1636    32       False        0.0                  0      NaN
登录后复制

3. Concat 函数

pd.concat 函数,带有 axis=1 参数,默认提供外连接:

<code class="python">result = pd.concat([df1, df2], axis=1)

print(result)</code>
登录后复制

输出:

   id  begin conditional confidence discoveryTechnique  concept
0 278    56       False        0.0                  1       A
1 421    18       False        0.0                  1       B
2   665    48       False        0.0                  0      NaN
3  1007    19       False        0.0                  2      NaN
4  1636    32       False        0.0                  0      NaN
5   NaN    NaN       NaN        NaN                NaN       C
登录后复制

值得注意的是,索引上的合并并不被认为是不好的做法,并且当索引值是主要标识符时非常有用。可以使用reset_index方法将索引移动到新列:

<code class="python">df2 = df2.reset_index()

print(df2)</code>
登录后复制

输出:

   index concept
0      0       A
1      1       B
登录后复制

以上是如何使用 Pandas 在 Python 中按索引合并 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!