Pandas 合并返回 NaN?

3

I have 2 dataframes:

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

我也检查了数据类型,它们都是对象或字符串。我该如何解决这个问题?
谢谢。
编辑:数据框包含所有州的名称,因此它们具有匹配的共同内容。

预期输出是什么? - Zero
1个回答

3
如果使用左连接,如果df2.State的值不存在于df1.State中,则会在Code中返回NaN,表示没有匹配。
我将检查State列中每个字符串后面是否有任何额外的空格,并确保所有值都是大写并转换为 str

该死!这是一个愚蠢的错误。大小写不匹配。我想这种情况经常发生在你长时间编码的时候..:p。谢谢 @Ray - user517696

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接