如何使用Pandas将基于列的两个数据帧添加到一起?

2024-09-30 05:28:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧,我想在另一个数据帧中求和。你知道吗

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')

当我尝试加入时,出现了一个错误:

You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat


Tags: 数据onmergexxxdf1df2yyydf3
1条回答
网友
1楼 · 发布于 2024-09-30 05:28:54

您可以使用concat使用@anky\u91建议,或者将authord列转换为int

df1['authorId'] = df1['authorId'].astype(int)
df2['authorId'] = df2['authorId'].astype(int)
df3 = df1.merge(df2, on='authorId', how='inner')

您可以检查dataframe数据类型,以查看authord列在两个DFs中的类型是否相同。你知道吗

df1.dtypes
df2.dtypes

相关问题 更多 >

    热门问题