Pandas merge()函数介绍
基本介绍
merge()
函数是 Pandas 库中一个非常强大的工具,用于根据一个或多个键将两个 DataFrame 合并起来。这是数据整合和清洗中经常使用的操作。merge()
函数提供了多种合并方式,包括内连接(inner join)、左连接(left join)、右连接(right join)和外连接(outer join)。
基本用法
- 假设我们有两个 DataFrame,
df1
和df2
,我们想要根据某个共同的列(例如 'key')来合并它们。-
import pandas as pd # 创建两个示例 DataFrame df1 = pd.DataFrame({ 'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4] }) print(df1) """ key value1 0 A 1 1 B 2 2 C 3 3 D 4 """ df2 = pd.DataFrame({ 'key': ['B', 'C', 'D', 'E'], 'value2': [5, 6, 7, 8] }) print(df2) """ key value2 0 B 5 1 C 6 2 D 7 3 E 8 """ # 使用 merge() 函数合并 merged = pd.merge(df1, df2, on='key') print(merged) """ key value1 value2 0 B 2 5 1 C 3 6 2 D 4 7 """
-
主要参数
- left:左侧 DataFrame。
- right:右侧 DataFrame。
- on:用于合并的列名。必须存在于两个 DataFrame 中。
- how:指定合并类型,可选值为 'left', 'right', 'outer', 'inner',默认为 'inner'。
- left_on:左侧 DataFrame 中用于合并的列名。
- right_on:右侧 DataFrame 中用于合并的列名。
- left_index:如果为 True,则使用左侧 DataFrame 的索引作为合并键。
- right_index:如果为 True,则使用右侧 DataFrame 的索引作为合并键。
- sort:根据合并键对合并后的数据进行排序,默认为 True。
- suffixes:一个元组,用于添加到重叠列名的后缀
合并类型
- inner:只保留两个 DataFrame 中都有的键的行。
- left:保留左侧 DataFrame 的所有键,如果右侧 DataFrame 中没有匹配的键,则对应列填充为 NaN。
- right:保留右侧 DataFrame 的所有键,如果左侧 DataFrame 中没有匹配的键,则对应列填充为 NaN。
- outer:保留两个 DataFrame 的所有键,如果没有匹配的键,则对应列填充为 NaN。
-
import pandas as pd # 创建两个示例 DataFrame df1 = pd.DataFrame({ 'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4] }) print(df1) """ key value1 0 A 1 1 B 2 2 C 3 3 D 4 """ df2 = pd.DataFrame({ 'key': ['B', 'C', 'D', 'E'], 'value2': [5, 6, 7, 8] }) print(df2) """ key value2 0 B 5 1 C 6 2 D 7 3 E 8 """ # 使用 merge() 函数合并 merged = pd.merge(df1, df2, on='key') print(merged) """ key value1 value2 0 B 2 5 1 C 3 6 2 D 4 7 """ # 内连接(inner join) inner_merged = pd.merge(df1, df2, on='key', how='inner') print("Inner Merge:\n", inner_merged) """ Inner Merge: key value1 value2 0 B 2 5 1 C 3 6 2 D 4 7 """ # 左连接(left join) left_merged = pd.merge(df1, df2, on='key', how='left') print("\nLeft Merge:\n", left_merged) """ Left Merge: key value1 value2 0 A 1 NaN 1 B 2 5.0 2 C 3 6.0 3 D 4 7.0 """ # 右连接(right join) right_merged = pd.merge(df1, df2, on='key', how='right') print("\nRight Merge:\n", right_merged) """ Right Merge: key value1 value2 0 B 2.0 5 1 C 3.0 6 2 D 4.0 7 3 E NaN 8 """ # 外连接(outer join) outer_merged = pd.merge(df1, df2, on='key', how='outer') print("\nOuter Merge:\n", outer_merged) """ Outer Merge: key value1 value2 0 A 1.0 NaN 1 B 2.0 5.0 2 C 3.0 6.0 3 D 4.0 7.0 4 E NaN 8.0 """
-
merge()
函数是 Pandas 中非常强大的工具,它允许你根据一个或多个键灵活地合并 DataFrame。通过熟练掌握 merge()
函数,你可以更有效地整合和清洗数据。
原文地址:https://blog.csdn.net/ciky2011/article/details/136388360
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!