将数据框列与字符串和数字进行比较

我有一个包含两列的数据框,其中包含字符串和数字。当我比较两列时,即使它们看起来相同,它们也不匹配。


示例数据:


old_code     new_code

100000       100000

当我比较时,结果是错误的:


df['old_code'] == df['new_code']

0    False

dtype: bool

数据类型相同:


df.dtypes

old_code    object

new_code    object

dtype: object

我尝试剥离列以防有空格,但它们仍然不匹配:


df['old_code'].str.strip() == df['new_code'].str.strip() 

0    False

dtype: bool

我将数据框制作成字典,看看我是否能发现任何错误,我注意到由于某种原因,其中一列被格式化为字符串,另一列被格式化为整数:


d = df.to_dict()

d

{'old_code': {0: '100000'}, 'new_code': {0: 100000}}

关于如何比较这些列的任何建议?我不想将数据类型更改为整数,因为有些行是真正的字符串。


繁星coding
浏览 185回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python