Pandas 如何合并两个数据框

Pandas 如何合并两个数据框

在本文中,我们将介绍Pandas如何合并两个数据框。Pandas是一种强大的数据分析工具,它提供了很多用于数据处理,分析和可视化的函数和方法,其中包括用于合并多个数据框的函数。

我们首先需要了解,数据框是Pandas中最常用的数据结构。如果你不熟悉数据框,可以先去学习一下Pandas数据框的基础知识。在Pandas中,数据框可以看作是二维的表格型数据结构。每个列可以是不同的数据类型,包括数值,字符,布尔型等。

阅读更多:Pandas 教程

合并两个数据框

在Pandas中,合并两个数据框最常用的函数是merge()函数。merge()函数根据某些列将两个数据框连接起来。合并之后,两个数据框将共享一个或多个公共列。

下面我们来看一个例子,假设我们有两个数据框A和B:

import pandas as pd

A = pd.DataFrame({
    'key': ['K0', 'K1', 'K2', 'K3'],
    'A': ['A0', 'A1', 'A2', 'A3'],
    'B': ['B0', 'B1', 'B2', 'B3']
})

B = pd.DataFrame({
    'key': ['K0', 'K1', 'K2', 'K3'],
    'C': ['C0', 'C1', 'C2', 'C3'],
    'D': ['D0', 'D1', 'D2', 'D3']
})

数据框A和B都有一个共同的列‘key’,我们可以用这个列来合并这两个数据框。使用merge()函数如下:

result = pd.merge(A, B, on='key')

print(result)

运行结果如下:

  key   A   B   C   D
0  K0  A0  B0  C0  D0
1  K1  A1  B1  C1  D1
2  K2  A2  B2  C2  D2
3  K3  A3  B3  C3  D3

我们可以看到,merge()函数根据列‘key’连接了数据框A和B。在结果中,‘key’列中的值是共享的,其它列的值来自各自的数据框。

在实际的数据处理中,我们常常需要用到多列作为连接条件。下面我们来看一个多列条件合并数据框的例子。假设现在有两个数据框C和D:

C = pd.DataFrame({
    'key1': ['K0', 'K0', 'K1', 'K2'],
    'key2': ['K0', 'K1', 'K0', 'K1'],
    'C': ['C0', 'C1', 'C2', 'C3'],
    'D': ['D0', 'D1', 'D2', 'D3']
})

D = pd.DataFrame({
    'key1': ['K0', 'K1', 'K1', 'K2'],
    'key2': ['K0', 'K0', 'K0', 'K0'],
    'E': ['E0', 'E1', 'E2', 'E3'],
    'F': ['F0', 'F1', 'F2', 'F3']
})

数据框C和D都有两个共同的列‘key1’和‘key2’。我们可以用这两个列来合并这两个数据框。使用merge()函数如下:

result = pd.merge(C, D, on=['key1', 'key2'])

print(result)

运行结果如下:

  key1 key2   C   D   E   F
0   K0   K0  C0  D0  E0  F0
1   K1   K0  C2  D2  E1 F1
2   K1   K0  C2  D2  E2  F2
3   K2   K1  C3  D3  E3  F3

我们可以看到,merge()函数根据两列‘key1’和‘key2’连接了数据框C和D。在结果中,‘key1’和‘key2’列中的值是共享的,其它列的值来自各自的数据框。

除了使用merge()函数,Pandas还提供了其它一些函数用于合并数据框,包括concat()函数和join()函数。这些函数的选择取决于你的具体需求。如果你想要将多个数据框合并为一个数据框,可以使用concat()函数。如果你想在某个数据框上添加列或行,可以使用join()函数。

总结

在本文中,我们介绍了如何合并两个数据框。Pandas提供了很多函数和方法来处理数据框,包括用于合并多个数据框的函数。merge()函数是最常用的合并函数之一,可以根据某些列将两个数据框连接起来。除了merge()函数外,Pandas还提供了其它函数用于合并数据框,需要根据具体情况选择。如果你想深入学习Pandas,可以查看Pandas的官方文档和教程。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程