在 Jupyter 中,可以使用 Pandas 库的 merge 函数将两个或多个 Pandas Dataframe 按照某个或多个关键字进行连接。
merge 函数的用法如下:pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)各参数的含义如下:left:要连接的左侧 Dataframe。right:要连接的右侧 Dataframe。how:指定连接方式,可以是 “inner”(内连接,对两个表中都有的行进行连接)、“outer”(外连接,对两个表中所有的行进行连接)、「left」(左连接,只对左边表中的行进行连接)或「right」(右连接,只对右边表中的行进行连接)。on:如果两个 Dataframe 中要连接的列名称相同,则可以用 on 指定这个列名称作为关键字;如果要连接多个列,则可以传递一个包含列名称的列表。left_on:指定左侧 Dataframe 中要连接的列的名称。如果一列存在于左边也存在于右边但列名不同,则可以用左侧列名替代 on 选项。right_on:指定右侧 Dataframe 中要连接的列的名称。如果一列存在于左边也存在于右边但列名不同,则可以用右侧列名替代 on 选项。left_index:如果为 True,则将左侧 Dataframe 的索引用作其连接键。默认为 False。right_index:如果为 True,则将右侧 Dataframe 的索引用作其连接键。默认为 False。sort:根据连接键按字典顺序对合并数据进行排序。默认为 False。suffixes:指定用于分辨重叠列的后缀元组。默认为 (‘_x’, ‘_y’)。copy:如果是 False,则在某些情况下避免将数据复制到结果数据结构中。默认为 True。indicator:是否添加一个列来显示每条记录是在哪个数据来源中。默认 False。validate:如果指定了值,则验证连接类型以进行操作。可以为 None、“one_to_one”、“one_to_many” 或 “many_to_one”。下面是一个简单的例子,将两个 Pandas Dataframe 按照 “id” 字段进行内连接:import pandas as pd# 创建 left Dataframeleft = pd.Dataframe({'id': [1, 2, 3], 'name': ['张三', '李四', '王五']})# 创建 right Dataframeright = pd.Dataframe({'id': [2, 3, 4], 'gender': ['男', '女', '男']})# 内连接result = pd.merge(left, right, on='id', how='inner')print(result)# 输出结果为:# id name gender# 0 2 李四 男# 1 3 王五 女以上代码中,我们先创建了两个 Dataframe,然后使用 merge 函数将这两个 Dataframe 按照 “id” 列进行内连接。最后输出结果 Dataframe,得到了两个 Dataframe 的交集结果,只保留了左 Dataframe 中 id 为 2 和 3 的记录。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。