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的官方文档和教程。