pandas不会以exponetial形式读取csv数据

时间:2017-04-27 15:51:06

标签: python csv pandas

我正在尝试使用pandas read_csv命令读取一个简单的csv数据文件。由于某种原因,以指数形式表示的所有值都将转换为零。

有人可以帮我理解这里出了什么问题并给我说明如何正确地做到这一点吗?

nlv12097@acv0105 TEST $ python
Job <886418> is submitted to queue <interq>.
<<Waiting for dispatch ...>>
<<Starting on apv0033>>
Enthought Python Distribution -- www.enthought.com
Version: 7.3-2 (64-bit)

Python 2.7.3 |EPD 7.3-2 (64-bit)| (default, Apr 11 2012, 17:52:16) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "credits", "demo" or "enthought" for more information.
>>> import pandas as pd
>>> print pd.__version__
0.7.3
>>> data = pd.read_csv('path_1_setup_sta_tta_MC30k.data', skiprows=[1])
>>> data.head()
                                               output name  mean  std.dev.  -sigma value  output value  +sigma value  output value.1
0              capture_path_clk_delay_mult1/out_reg_127/ck     0         0            -3             0             3               0
1  data_path_mult1/areg_reg_9/ck_delay_mult1/out_reg_127/d     0         0            -3             0             3               0
2          launch_clock_path_clk_delay_mult1/areg_reg_9/ck     0         0            -3             0             3               0
3                launch_path_clk_delay_mult1/out_reg_127/d     0         0            -3             0             3               0
4  stage_0001_delay_mult1/rc_cg_hier_inst5/rc_cgic_inst/ck     0         0            -3             0             3               0
>>> data.describe()
       mean  std.dev.  -sigma value  output value  +sigma value  output value.1
count   832       832           832           832           832             832
mean      0         0            -3             0             3               0
std       0         0             0             0             0               0
min       0         0            -3             0             3               0
25%       0         0            -3             0             3               0
50%       0         0            -3             0             3               0
75%       0         0            -3             0             3               0
max       0         0            -3             0             3               0
>>> 

包括样本数据集:

nlv12097@acv0105 TEST $ head path_1_setup_sta_tta_MC30k.data
output name,mean,std.dev.,-sigma value,output value,+sigma value,output value

capture_path_clk_delay_mult1/out_reg_127/ck,2.240e-10,1.042e-11,-3.000,1.968e-10,3.000,2.607e-10
data_path_mult1/areg_reg_9/ck_delay_mult1/out_reg_127/d,1.074e-08,7.784e-11,-3.000,1.044e-08,3.000,1.097e-08
launch_clock_path_clk_delay_mult1/areg_reg_9/ck,2.438e-10,1.056e-11,-3.000,2.154e-10,3.000,2.816e-10
launch_path_clk_delay_mult1/out_reg_127/d,1.098e-08,7.860e-11,-3.000,1.068e-08,3.000,1.122e-08
stage_0001_delay_mult1/rc_cg_hier_inst5/rc_cgic_inst/ck,0.000e+00,0.000e+00,-3.000,0.000e+00,3.000,0.000e+00
stage_0001_slew_mult1/rc_cg_hier_inst5/rc_cgic_inst/ck,4.055e-12,2.390e-18,-3.000,4.055e-12,3.000,4.055e-12
stage_0002_delay_mult1/rc_cg_hier_inst5/rc_cgic_inst/q,2.438e-10,1.056e-11,-3.000,2.154e-10,3.000,2.816e-10
stage_0002_slew_mult1/rc_cg_hier_inst5/rc_cgic_inst/q,1.631e-10,4.559e-12,-3.000,1.498e-10,3.000,1.776e-10

1 个答案:

答案 0 :(得分:4)

你的版本是0.7.3!?我甚至找不到该版本的文档了。除非此版本对您的系统至关重要,否则请更新它。该版本必须为7年或更长时间。 (好吧,它只有5岁,但仍然。)

好的。所以我能够找到该版本并进行一些测试。根据您的样本集,视图如您所说,但如果您访问单个数据点,则数字与预期一致。例如:

df['mean'][0]
2.24e-10

我的假设是内部某处,我们无法看到源,所以我们不知道在哪里,有一个设置说这个低的值基本上是0.这不是当前稳定版本的熊猫的行为(0.19.2)。我强烈建议升级。