import pandas as pd
def merge_columns_and_export(df1, df2, col_name, file_name):
"""
Merge two columns in the same position of each dataframe and export to .csv
:param df1: dataframe 1
:param df2: dataframe 2
:param col_name: column name to merge
:param file_name: output file name
:return: None
"""
# find matches
matches = pd.merge(df1, df2, how='inner', on=col_name)
# merge columns
merged = pd.concat([matches[col_name], matches.iloc[:,1:len(matches.columns)]], axis=1)
# export to csv
merged.to_csv(file_name, index=False)
# example usage
df1 = pd.read_csv('dataset1.csv')
df2 = pd.read_csv('dataset2.csv')
merge_columns_and_export(df1, df2, 'id', 'merged.csv')
此函数首先查找两个数据帧中给定列名匹配的行,然后将每个匹配的行的两个数据帧中相同位置的两个列合并为一列。最后将结果导出到一个 .csv 文件中。在此示例中,我们使用 pd.read_csv 从文件读取数据,处理后将结果导出到 merged.csv。
下一篇:编写函数的Python风格