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

Patricia Arquette
发布: 2024-10-31 15:48:02
原创
383 人浏览过

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

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