📅  最后修改于: 2023-12-03 15:03:29.385000             🧑  作者: Mango
在 Pandas 中,可以使用 concat()
和 merge()
函数来合并多个数据框。本文将介绍这两个方法的使用。
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
此时,需要注意的是,数据框的索引需相同。
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
参数用于指定合并方式,可取值包括 inner
、outer
、left
和 right
。
如果需要合并多个数据框,可以多次调用 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 中合并多个数据框的方法。