我在Jupyter Notebook上使用python 3.4,尝试合并两个数据框,如下所示:

df_A.shape

(204479, 2)

df_B.shape

(178, 3)

new_df = pd.merge(df_A, df_B, how='inner', on='my_icon_number')

new_df.shape

(266788, 4)

我认为上面合并的new_df应该比df_A少几行,因为merge就像一个内连接.但是为什么new_df实际上有比df_A更多的行?

这是我真正想要的:

我的df_A就像:

id my_icon_number

-----------------------------

A1 123

B1 234

C1 123

D1 235

E1 235

F1 400

而我的df_B就像:

my_icon_number color size

-------------------------------------

123 blue small

234 red large

235 yellow medium

然后我想要new_df:

id my_icon_number color size

--------------------------------------------------

A1 123 blue small

B1 234 red large

C1 123 blue small

D1 235 yellow medium

E1 235 yellow medium

我真的不想在df_A中删除my_icon_number的重复项.知道我错过了什么吗?

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐