首页  >  文章  >  后端开发  >  如何使用 Pandas 在 Python 中按索引合并 DataFrame?

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

Susan Sarandon
Susan Sarandon原创
2024-11-01 17:35:02167浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn