形如:arr = np.array([1.23e+06, 4.56e+07, 7.89e+08])
(以上代码来自百度AI助手)
这样的数据出现在将要用于深度学习模型训练的时候该如何处理?
PS:本文中出现的代码不能直接运行,仅作为描述辅助用途。本文中出现的数据集将不会在此上传,截取极小片段仅单纯作为说明python使用过程中的问题及其潜在解决方案的示例以便于理解。
问题描述
提示:这里描述项目中遇到的问题:
数据集已转化为二维数组,数据类型为np.float32, 存放于python numpy array 中。当通过array 行列索引某一行某一列的单一数据时,Jupyter notebook返回值不显示e+, 但是当通过array 行列索引切片读取多行多列数据时,Jupyter note book 会显示e+, 并且数据中的小数点向前移动一位,即原数据-39.0000e+04会变成-3.9000e+04而不是预期中的-39.01. 如下所示:
当在Jupyter notebook中读取array形式的数据集时:
# test1_copy是文件中的数据
tt = np.array(test1_copy)
np.float32(tt)
由于数据集敏感性问题,仅仅截取具有对单纯解决python技术应用相关的本文具有说明性的一小段作为参考:
array([[ -1.98, -5.87, -39.01, ..., -15.35, -4.52, -0.39],
注意第三个数据,-39.01此时为正常显示数据。这一段数据仅仅是显示的整个数据集中的一条数据的一部分,但是如果想要只查看第一条数据:
tt[0] #第一行数据
在Jupyter notebook中将会看到:
#这是第一个数据中的一部分
array([-1.98000e+00, -5.87000e+00, -3.90100e+01, 1.52400e+02,
此时查看对应的第三个数据集,原显示数据-39