在Python的Pandas库中,可以使用merge()
函数将两个数据帧(DataFrame)连接在一起
以下是一个简单的示例,说明如何将两个数据帧连接在一起:
首先,导入pandas库并创建两个简单的数据帧:
import pandas as pd
data1 = {'key': ['A', 'B', 'C', 'D'],
'value': [1, 2, 3, 4]}
data2 = {'key': ['B', 'D', 'E', 'F'],
'value': [5, 6, 7, 8]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
现在,我们可以使用merge()
函数将这两个数据帧连接在一起。默认情况下,merge()
函数会根据两个数据帧中具有相同名称的列进行连接。在这个例子中,我们将根据'key'列连接两个数据帧:
merged_df = pd.merge(df1, df2, on='key', suffixes=('_left', '_right'))
suffixes
参数用于处理两个数据帧中具有相同列名的情况。在这个例子中,我们使用'_left'和'_right'作为后缀,以区分来自不同数据帧的同名列。
输出结果如下:
key value_left value_right
0 B 2 5
1 D 4 6
在这个例子中,我们只连接了两个数据帧中共有的键。如果你想要连接所有的键,可以使用how
参数:
merged_df_all = pd.merge(df1, df2, on='key', how='outer')
这将返回一个包含所有键的数据帧,缺失的值将被填充为NaN。
输出结果如下:
key value_left value_right
0 A 1 NaN
1 B 2 5
2 C 3 NaN
3 D 4 6
4 E NaN 7
5 F NaN 8
你还可以根据多个列连接数据帧,只需将列名添加到on
参数中即可:
merged_df_multi = pd.merge(df1, df2, on=['key', 'value'], how='inner')
这将根据'key'和'value'列的匹配项连接两个数据帧。
领取专属 10元无门槛券
手把手带您无忧上云