首页 > 解决方案 > 合并后如何保持相同的int dtype列?

问题描述

我有两个数据框 df1 和 df2

df1 看起来像:

a    b   
ravi     2  
ramesh   3
ganesh   4
kamlesh  8

df2 看起来像:

a    c   d
harish  50  70 
ravi    80  60  
suresh  40  20  
kamlesh 90  100

当我使用外连接(在 a 列上)合并两个 df 的 df2 和 df1 以包含所有列时,生成的数据帧的 dtypes 为 int64 列 c、d、b 从 int64 变为 float。

合并后有什么方法可以保留与 int 相同的 dtypes 吗?

我是这个领域的新手。希望能得到一些帮助

标签: python-3.xpandasdataframe

解决方案


加入/合并后使用这个:

df2.loc[:, ['c','d']] = df2.loc[:, ['c','d']].astype('Int64')

推荐阅读