我正在尝试合并三个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
答案 0 :(得分:0)
我认为NaN
在任何情况下都将被解释为浮点数。但是,如果参数result.fillna('')
不能将空单元格识别为na_values
,然后用NaN
替换,则可以使用''
后验。另外,请尝试以下操作是否适合您:
df = pd.read_csv(myfile, dtype={'code': str}, na_values=[], keep_default_na=False)