我有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。我该如何解决这个问题?
由于
编辑:数据框包含所有州名称,因此它们具有匹配的常见内容。
答案 0 :(得分:1)
如果你使用左连接,如果df1.State中不存在df2.State值,它将在Code中返回NaN,这意味着没有匹配。
我将检查State列中每个字符串后面是否有额外的空格,并确保所有值都是大写并转换为str
。