pandas神坑:如果列有NAN,则默认给数据转换为float类型!给pandas列指定不同的数据类型。

时间:2021-02-03 15:46:41

今天碰到一个错误,一个字典取值报keyError, 一查看key, 字符串类型的数字后面多了小数点0, 变成了float的样子了。

发现了pandas一个坑:如果列有NAN,则默认给数据转换为float类型!

来源:https://*.com/questions/39666308/pd-read-csv-by-default-treats-integers-like-floats

但是,我们这里不想要让它转成float, pandas中有dtype指定列的数据类型,我们可以在read_csv指定我们想要的数据类型。

来源:https://*.com/questions/13250046/pandas-csv-import-keep-leading-zeros-in-a-column

dtype_dic= {'subject_id': str,
'subject_number' : 'float'}
df = pd.read_csv(yourdata, dtype = dtype_dic)