熊猫合并回归NaN?

时间:2018-03-16 15:59:07

标签: python pandas

我有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

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

由于

编辑:数据框包含所有州名称,因此它们具有匹配的常见内容。

1 个答案:

答案 0 :(得分:1)

如果你使用左连接,如果df1.State中不存在df2.State值,它将在Code中返回NaN,这意味着没有匹配。

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