以下合并策略失败:
import pandas as pd
data1 = {'c1': ['J', 'A', 'B'],
'key': [25, 30, 35]}
df1 = pd.DataFrame(data1)
data2 = {'c2': ['A', 'B', 'C'],
'key': ["25","30","36"]}
df2 = pd.DataFrame(data2, dtype="O")
df1.key = df1.key.astype("O")
print(df1.merge(df2, on = "key"))
output:
Empty DataFrame
Columns: [c1, key, c2]
Index: []
为什么大Pandas 在这次合并中失败了?我可以将列转换为字符串dtype
,如下所示,然后再转换回object
,这样就可以工作了:
df1.key = df1.key.astype(str).astype("O")
现在,合并就可以了,并找到匹配的项.我应该如何理解这种行为?