代码之家  ›  专栏  ›  技术社区  ›  MoreScratch

不强制执行数据类型

  •  0
  • MoreScratch  · 技术社区  · 7 年前

    我正在尝试合并三个CSV文件。我可以让他们很好地合并,但我 NaN 空单元格中的值(请参阅下面的电话号码单元格)。这没关系,除非我在行上循环得到一个空单元格,它说这是一个 float ??? 我不明白,因为我特别将类型设置为 str .

          business_id                                         name                         address                  city state postal_code   latitude   longitude  phone_number
    0       PR0001109             ST. BARNABAS SENIOR CENTER OF LA            675 S CARONDELET ST            LOS ANGELES    CA       90057  34.059267 -118.281234  213-388-4444
    1       PR0001209                       COCO FRESH TEA & JUICE    11301 W OLYMPIC BLVD STE 105           LOS ANGELES    CA       90064  34.038185 -118.441811  626-319-5570
    2       PR0001212                                  BOTTOM LINE          2066 W MANCHESTER AVE            LOS ANGELES    CA       90047  33.959802 -118.315636           NaN
    3       PR0001671                                      TIKI TI             4427 W SUNSET BLVD            LOS ANGELES    CA       90027  34.097470 -118.285736           NaN
    

    根据文件,我不应该看到以下情况:

    df = pd.read_csv(myfile, dtype={'phone_number': str}, na_values=[''], keep_default_na=False)
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   yatu Sayali Sonawane    7 年前

    我想 NaN 在任何情况下都将被解释为浮动。然而,你能做的就是使用它 result.fillna('') 如果参数 na_values 未将空单元格识别为 楠 ''

    df = pd.read_csv(myfile, dtype={'code': str}, na_values=[], keep_default_na=False)