今天碰到一个错误,一个字典取值报keyError, 一查看key, 字符串类型的数字后面多了小数点0, 变成了float的样子了。
发现了pandas一个坑:如果列有NAN,则默认给数据转换为float类型!
来源:https://stackoverflow.com/questions/39666308/pd-read-csv-by-default-treats-integers-like-floats
但是,我们这里不想要让它转成float, pandas中有dtype指定列的数据类型,我们可以在read_csv指定我们想要的数据类型。
来源:https://stackoverflow.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)