pd.merge()
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=True,
suffixes=('_x', '_y'), copy=True, indicator=False,
validate=None)
merge内部的各种参数
pd.left,pd.right
left用来指代左边要拼接的dataframe
right用来指代右边要拼接的dataframe
how相当于是怎么进行连接
left和right主要还是看重要性,比如说,最终形成的结果必须保证有left,那么会选择left进行拼接。反之,则选用right。
how用来指代连接的方式
比如说left,代表左连接,比如A和B进行连接,会将B的内容补充到A进来。
但不会将和A没有关系的B内容补充到新的表中。
其中,inner是取交集,outer是取并集。
比方说left
比方说right
比方说inner
left_on&&right_on&&on
left_on&&right_on表示左右两个数据集所用的关键字
注意看key1是left_on的
key2是right_on的
创建两个示例 DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'D', 'E'],
'value': [5, 6, 7, 8]})
合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='key', how='inner')
print(merged_df)
输出结果将是:
按key进行合并并且采用交集
在这个例子中,我们使用内连接 (how=‘inner’) 合并了 df1 和 df2,并且使用 on 参数指定了连接的列 key。由于 A 和 C 只在 df1 中存在,而 E 只在 df2 中存在,所以在合并后的 DataFrame 中这些行不会出现。
参考链接
cool-wangtongzhou