📌  相关文章
📜  pandas 合并多个数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:03:29.385000             🧑  作者: Mango

Pandas 合并多个数据框 - Python

在 Pandas 中,可以使用 concat()merge() 函数来合并多个数据框。本文将介绍这两个方法的使用。

1. concat(): 数据框纵向合并

concat() 函数用于将多个数据框沿着纵轴方向进行拼接。下面是一个例子:

import pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})

result = pd.concat([df1, df2])

print(result)

输出结果为:

   A  B
0  1  3
1  2  4
0  5  7
1  6  8

注意,在使用 concat() 函数时,要将需要拼接的数据框放入一个列表中。

也可以使用 axis=1 参数来进行横向拼接。例如:

df3 = pd.DataFrame({'C': [9, 10], 'D': [11, 12]})
result2 = pd.concat([df1, df3], axis=1)

print(result2)

输出结果为:

   A  B   C   D
0  1  3   9  11
1  2  4  10  12

此时,需要注意的是,数据框的索引需相同。

2. merge(): 数据框横向合并

merge() 函数用于将多个数据框沿着横轴方向进行拼接。下面是一个例子:

import pandas as pd

df1 = pd.DataFrame({'key': ['A', 'B'], 'value': [1, 2]})
df2 = pd.DataFrame({'key': ['B', 'C'], 'value': [3, 4]})

result = pd.merge(df1, df2, on='key', how='inner')

print(result)

输出结果为:

  key  value_x  value_y
0   B        2        3

merge() 函数中,on 参数用于指定用于合并的列,how 参数用于指定合并方式,可取值包括 innerouterleftright

如果需要合并多个数据框,可以多次调用 merge() 函数。例如:

df3 = pd.DataFrame({'key': ['A', 'C'], 'value': [5, 6]})

result2 = pd.merge(df1, pd.merge(df2, df3, on='key', how='outer'), on='key', how='outer')

print(result2)

输出结果为:

  key  value_x  value_y  value
0   A      1.0     NaN    5.0
1   B      2.0     3.0    NaN
2   C      NaN     4.0    6.0

以上便是在 Pandas 中合并多个数据框的方法。