今天碰到一个错误,一个字典取值报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)
本文揭示了使用Pandas读取CSV文件时的一个常见问题:若列中存在NAN值,Pandas会默认将该列数据转换为float类型,即使原始数据为整数或字符串。文章提供了解决方法,通过在read_csv函数中使用dtype参数指定各列的数据类型,避免不必要的数据类型转换。

1603

被折叠的 条评论
为什么被折叠?



