欢迎访问宙启技术站
智能推送

在Pandas中如何合并和连接多个DataFrame

发布时间:2023-12-22 20:56:24

在Pandas中,我们可以使用concatmergejoin函数来合并和连接多个DataFrame。

1. 使用concat函数:concat函数主要用于按行或按列连接多个DataFrame。下面是一个按行连接的例子:

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})

# 按行连接两个DataFrame
result = pd.concat([df1, df2])

print(result)

输出结果如下:

   A   B
0  1   4
1  2   5
2  3   6
0  7  10
1  8  11
2  9  12

默认情况下,concat函数按行连接DataFrame,但我们也可以通过设置axis参数来按列连接DataFrame。

2. 使用merge函数:merge函数用于根据一组键将多个DataFrame连接在一起。下面是一个简单的例子:

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})

# 根据key列连接两个DataFrame
result = pd.merge(df1, df2, on='key')

print(result)

输出结果如下:

  key  value_x  value_y
0   B        2        4
1   C        3        5

在上面的例子中,我们根据key列连接了两个DataFrame,并自动将相同的key值进行了匹配。

3. 使用join函数:join函数主要用于根据索引连接多个DataFrame。下面是一个简单的例子:

import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3]}, index=[1, 2, 3])
df2 = pd.DataFrame({'B': [4, 5, 6]}, index=[2, 3, 4])

# 根据索引连接两个DataFrame
result = df1.join(df2)

print(result)

输出结果如下:

   A    B
1  1  NaN
2  2  4.0
3  3  5.0

在上面的例子中,我们根据索引连接了两个DataFrame,并根据索引值自动进行了匹配。

通过以上示例,我们可以看到在Pandas中可以使用concatmergejoin函数来合并和连接多个DataFrame,可以根据需求选择合适的函数来处理数据。