Python 熊猫们回来了吗?
我有两个数据帧: df1= df2= 现在,当我尝试使用以下方法合并两者时:Python 熊猫们回来了吗?,python,pandas,Python,Pandas,我有两个数据帧: df1= df2= 现在,当我尝试使用以下方法合并两者时: df1.merge(df2,left_on='State',right_on='State',how='left') 我在合并表中得到如下NaN值: State PREVAILING_WAGE Code CALIFORNIA 102170.0 NaN DELAWARE 97531.0 NaN SOUTH CAROLINA 96824.0
df1.merge(df2,left_on='State',right_on='State',how='left')
我在合并表中得到如下NaN值:
State PREVAILING_WAGE Code
CALIFORNIA 102170.0 NaN
DELAWARE 97531.0 NaN
SOUTH CAROLINA 96824.0 NaN
WASHINGTON 89586.0 NaN
OREGON 88234.0 NaN
我也检查了数据类型,它们都是对象或str。我如何解决这个问题
谢谢
编辑:数据帧包含所有状态名称,因此它们有共同的内容要匹配。如果使用左连接,如果df1.State中不存在df2.State值,则它将在代码中返回NaN,这意味着不存在匹配
我将检查状态列中的每个字符串后是否有额外的空格,并确保所有值都是大写,并转换为
str
预期输出是什么?该死!!这样一个愚蠢的错误。这个案子不匹配。我认为当你长时间编写代码时会发生这种情况。谢谢@Ray
df1.merge(df2,left_on='State',right_on='State',how='left')
State PREVAILING_WAGE Code
CALIFORNIA 102170.0 NaN
DELAWARE 97531.0 NaN
SOUTH CAROLINA 96824.0 NaN
WASHINGTON 89586.0 NaN
OREGON 88234.0 NaN