熊猫合并返回NaN



我有 2 个数据帧:

df1=

State           Code
Alabama         AL
Alaska          AK
American Samoa  AS
Arizona         AZ
Arkansas        AR

df2=

State            PREVAILING_WAGE
CALIFORNIA       102170.0
DELAWARE         97531.0
SOUTH CAROLINA   96824.0
WASHINGTON       89586.0
OREGON           88234.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

我也检查了 dtype,它们都是对象或 str。我该如何解决这个问题?

谢谢

编辑:数据帧包含所有状态名称,因此它们具有要匹配的通用内容。

如果使用左连接,如果 df2。状态值在 df1 中不存在。状态,它将在代码中返回 NaN,这意味着没有匹配项。

我将检查 State 列中的每个字符串后面是否有任何额外的空格,并确保所有值都是大写并转换为 str .

最新更新