Pandas 如何跨列合并两个数据表格
在本文中,我们将介绍如何使用 Pandas 在Python中合并两个数据表格的列。
阅读更多:Pandas 教程
数据问题
我们假设我们有两个数据表格 A 和 B,它们具有相同数量的行和不同的列。 如下所示:
A数据表格:
| 列1 | 列2 | 列3 |
|---|---|---|
| A1 | A2 | A3 |
| B1 | B2 | B3 |
| C1 | C2 | C3 |
B数据表格:
| 列4 | 列5 |
|---|---|
| D1 | D2 |
| E1 | E2 |
| F1 | F2 |
现在,我们希望将这两个数据表格沿着列绑定到一个新的数据表格中。
API介绍
在Pandas中,可以使用 merge() 和 join() 合并两个数据表格。但是,在我们的情况下,我们要跨列合并两个数据表格,因此我们需要使用 Pandas 的 concat() 函数。
Pandas 的 concat() 函数用于在一个轴上将 Pandas 数据对象(DataFrame或Series)堆叠在一起。具体来说,如果对象沿着不同轴上的索引相同,则可以简单地连接对象。如果轴上的对象具有不同的索引,则可以指定连接方式。
如果要连接多个 Pandas DataFrame 对象,则必须在concat()函数中以列表形式提供这些对象。下面是concat()的语法:
result = pd.concat([df1, df2, df3])
实现方法
要将列水平合并,请使用 concat() 函数并指定 axis=1 参数。此参数将数据沿着列方向结合。
在下面的代码段中,我们将数据表格 A 和 B 组合在一起,并将结果保存在一个名为result的新数据表格中。
import pandas as pd
# create dataframe A
dataA = {
'列1': ['A1', 'B1', 'C1'],
'列2': ['A2', 'B2', 'C2'],
'列3': ['A3', 'B3', 'C3']
}
dfA = pd.DataFrame(dataA)
# create dataframe B
dataB = {
'列4': ['D1', 'E1', 'F1'],
'列5': ['D2', 'E2', 'F2']
}
dfB = pd.DataFrame(dataB)
# combine dfA and dfB horizontally
result = pd.concat([dfA, dfB], axis=1)
print(result)
输出结果是:
列1 列2 列3 列4 列5
0 A1 A2 A3 D1 D2
1 B1 B2 B3 E1 E2
2 C1 C2 C3 F1 F2
总结
在本文中,我们介绍了如何使用 Pandas 中的 concat() 函数在列方向上合并两个数据表格。记住,使用 concat() 和指定适当的轴方向可以在 Pandas 中方便地组合数据表格。
极客教程