熊猫 - 使用float64数据进行奇怪的舍入

时间:2016-08-24 14:59:30

标签: pandas floating-point

我有以下输入数据:

trade
411170
181604
1571696
2046663
528474
175173
15151
257710
72036
100111
67241
171985
111292
78622

我正在iPython上运行efollwoing命令并期望%(pct)列的总和为1,因为我将其计算为总份额的百分比。相反,我似乎有一个非常接近的近似值。我希望熊猫的浮点能够解决这个问题。

In [644]: a = pd.read_clipboard()

In [645]: a.dtypes
Out[645]:
trade    int64
dtype: object

In [646]: a['trade'] = a['trade'].astype(float)

In [647]: a.dtypes
Out[647]:
trade    float64
dtype: object

In [648]: a['pct'] = a['trade'] / a['trade'].sum()

In [649]: a['pct'].sum()
Out[649]: 0.99999999999999989

我也试过.astype(np.float)(np是numpy)。

0 个答案:

没有答案