我有以下输入数据:
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)。