【发布时间】:2017-08-29 00:06:16
【问题描述】:
我正在尝试加入(合并)两个 pandas 数据框:df_A 和 df_B。我想加入df_A.a_number = df_B.b_number
但是,df_A.a_number 的类型为 int64,df_B.b_number 的类型为 object。我尝试在合并之前将它们都转换为str,如下所示,但似乎不起作用...
df_A.a_number.astype('str')
df_A.dtypes
a_number int64
a_set object
dtype: object
这里是df_B:
df_B.b_number.astype('str')
df_B.dtypes
b_number object
dtype: object
然后我尝试加入 df_A 和 df_B:
df_C = pd.merge(df_A,df_B, how ='inner', left_on = ['a_number'], right_on = ['b_number'])
df_C
但是,df_C 是空的(不应该这样)。我猜可能是因为a_number 和b_number 的类型不同,并且没有正确转换为str?有人可以建议吗?谢谢!
【问题讨论】:
标签: python python-3.x pandas join merge