在Pandas中,合并数据集通常使用merge()函数。这个函数类似于SQL中的JOIN操作,可以根据一个或多个键将不同的DataFrame连接起来。以下是一些基本的使用方法:
merge()执行的是内连接,即只保留两个DataFrame中键匹配的行。import pandas as pd
# 创建示例DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'],
'value': [5, 6, 7, 8]})
# 执行内连接
merged_df = pd.merge(df1, df2)
print(merged_df)
how='outer'参数可以执行外连接,它会保留两个DataFrame中的所有键,不匹配的键对应的值会填充为NaN。# 执行外连接
merged_df_outer = pd.merge(df1, df2, how='outer')
print(merged_df_outer)
how='left'参数可以执行左连接,它会保留左侧DataFrame(即第一个DataFrame)的所有键,右侧DataFrame中不匹配的键对应的值会填充为NaN。# 执行左连接
merged_df_left = pd.merge(df1, df2, how='left')
print(merged_df_left)
how='right'参数可以执行右连接,它会保留右侧DataFrame(即第二个DataFrame)的所有键,左侧DataFrame中不匹配的键对应的值会填充为NaN。# 执行右连接
merged_df_right = pd.merge(df1, df2, how='right')
print(merged_df_right)
on参数中指定一个键列表,以便基于多个键进行合并。# 假设df1和df2都有'key1'和'key2'两列
merged_df_multiple_keys = pd.merge(df1, df2, on=['key1', 'key2'])
print(merged_df_multiple_keys)
left_on和right_on参数。# 假设df1中的键列名为'key1',而df2中的键列名为'key2'
merged_df_different_names = pd.merge(df1, df2, left_on='key1', right_on='key2')
print(merged_df_different_names)
在使用merge()函数时,还可以通过suffixes参数来指定当两个DataFrame中有相同列名时的后缀。
# 当有相同列名时添加后缀
merged_df_with_suffixes = pd.merge(df1, df2, on='key', suffixes=('_left', '_right'))
print(merged_df_with_suffixes)
这些是Pandas中合并数据集的基本方法。根据你的具体需求,可以选择合适的连接类型和其他参数来实现数据的合并。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。