python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Pandas merge合并两个DataFram

Pandas merge合并两个DataFram的实现

作者:uncle_ll

本文主要介绍了Pandas merge合并两个DataFram的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Pandas merge

pandas.merge()是pandas库中用于合并两个或多个DataFrame对象的函数,其常用的参数有以下几个:

示例代码

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})

# 通过key列合并两个DataFrame
merged = pd.merge(df1, df2, on='key')
print(merged)

运行结果:

  key  value_x  value_y
0   B        2        5
1   D        4        6

在这个例子中,创建了两个DataFrame对象df1和df2,它们都有一个名为’key’的列。使用pd.merge()函数将这两个DataFrame对象按照’key’列进行合并,并将结果存储在merged变量中。最后,输出了合并后的结果,其中value_x和value_y分别代表合并前的df1和df2中的’value’列。

保留左边的DataFram

如果只想考虑左侧的DataFrame对象,在pandas.merge()函数中可以设置how=‘left’参数来实现。具体来说,how参数控制了两个DataFrame对象之间的合并方式,可以取值为’left’、‘right’、‘outer’和’inner’。当取值为’left’时,pandas.merge()函数会将左侧DataFrame对象中所有的行保留,并在合并后的DataFrame对象中添加右侧DataFrame对象中能够和左侧DataFrame对象匹配的行。

下面是一个示例代码:

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})

# 只考虑左侧的DataFrame对象
merged = pd.merge(df1, df2, on='key', how='left')

print(merged)

运行结果:

  key  value_x  value_y
0   A        1      NaN
1   B        2      5.0
2   C        3      NaN
3   D        4      6.0

在这个例子中,将df1和df2按照’key’列进行合并,并将合并方式设置为’left’。合并结果中包含了df1中所有的行,因为只考虑左侧的DataFrame对象。右侧的DataFrame对象中’key’列为’E’和’F’的行在合并后的DataFrame对象中的’value_y’列都是NaN。

到此这篇关于Pandas merge合并两个DataFram的实现的文章就介绍到这了,更多相关Pandas merge合并两个DataFram内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文