熊猫不执行数据类型

时间:2018-12-03 22:11:51

标签: python pandas

我正在尝试合并三个CSV文件。我可以使它们合并得很好,但是我在空单元格中获得了NaN值(请参见下面的phone_number单元格)。没关系,除非当我循环遍历行并得到一个空单元格时,它说这是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)

但是,这不起作用。有什么想法吗?

注意:使用熊猫版本0.23.4

1 个答案:

答案 0 :(得分:0)

我认为NaN在任何情况下都将被解释为浮点数。但是,如果参数result.fillna('')不能将空单元格识别为na_values,然后用NaN替换,则可以使用''后验。另外,请尝试以下操作是否适合您:

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