首页  >  文章  >  后端开发  >  如何根据索引合并数据帧?

如何根据索引合并数据帧?

Patricia Arquette
Patricia Arquette原创
2024-10-31 15:48:02368浏览

How to Merge DataFrames Based on Their Indices?

按索引合并数据帧

简介

合并数据帧是数据分析中的常见任务合并来自多个来源的信息。通常,使用列作为匹配标准来执行合并。但是,在某些情况下,您可能需要根据索引合并数据帧。本文提供了如何实现这一目标的指导。

使用联接方法按索引合并数据帧

要按索引合并数据帧,您可以使用以下联接方法:

  • merge: 默认执行内连接。
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
  • join: 执行左连接默认情况下。
<code class="python">df1.join(df2)</code>
  • concat: 默认执行外连接。
<code class="python">pd.concat([df1, df2], axis=1)</code>

示例

考虑以下数据框:

<code class="python">df1 = pd.DataFrame({'a':range(6), 'b':[5,3,6,9,2,4]}, index=list('abcdef'))
df2 = pd.DataFrame({'c':range(4), 'd':[10,20,30, 40]}, index=list('abhi'))</code>

默认内部联接:

<code class="python">df3 = pd.merge(df1, df2, left_index=True, right_index=True)</code>

输出:

   a  b  c   d
a  0  5  0  10
b  1  3  1  20

默认左连接:

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

输出:

   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

默认外连接:

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

输出:

     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

以上是如何根据索引合并数据帧?的详细内容。更多信息请关注PHP中文网其他相关文章!

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