我正在尝试在pandas中合并多个数据框,并在结果数据框中保持列标签的正确性。以下是我的测试案例:
import pandas as pd
df1 = pd.DataFrame(data = [[1,1],[3,1],[5,1]], columns = ['key','val'])
df2 = pd.DataFrame(data = [[1,2],[3,2],[7,2]], columns = ['key','val'])
df3 = pd.DataFrame(data = [[1,3],[2,3],[4,3]], columns = ['key','val'])
df = pd.merge(pd.merge(df1,df2,on='key', suffixes=['_1','_2']),df3,on='key',suffixes=[None,'_3'])
我正在得到这个:
df =
key val_1 val_2 val
0 1 1 2 3
我想看看这个:
df =
key val_1 val_2 val_3
0 1 1 2 3
我指定的最后一对后缀是:[None,'_3']
,逻辑是因为['_1', '_2']
已经为之前的合并创建了唯一的列名。