我要总结两个数据框。
df1 =
authorId,quest1, quest2, quest3, ...
1, xxx, xxx, xxx, ...
2, xxx, xxx, xxx, ...
3, xxx, xxx, xxx, ...
...
和
df2 =
authorId,answer1, answer2, answer3, ...
1, yyy, yyy, yyy, ...
2, yyy, yyy, yyy, ...
3, yyy, yyy, yyy, ...
...
我想要
df3 =
authorId,quest1, quest2, quest3, answer1, answer2, answer3,
1, xxx, xxx, xxx, yyy, yyy, yyy, ...
2, xxx, xxx, xxx, yyy, yyy, yyy, ...
3, xxx, xxx, xxx, yyy, yyy, yyy, ...
...
我已经尝试过合并或加入(在内,左,右,外),但无法按预期工作。
df3 = df1.merge(df2, on='authorId', how='inner')
当我尝试加入时出现错误:
您正在尝试合并object和int64列。如果你想 继续,您应该使用pd.concat
答案 0 :(得分:1)
您可以使用concat使用@ anky_91建议,也可以将authorID列转换为int。
df1['authorId'] = df1['authorId'].astype(int)
df2['authorId'] = df2['authorId'].astype(int)
df3 = df1.merge(df2, on='authorId', how='inner')
您可以检查数据框的dtypes,以查看两个DF中的authorID列是否为同一类型。
df1.dtypes
df2.dtypes