这应该很容易.
这是我的数组(相反,一种生成代表性测试数组的方法):
>>> ri = numpy.random.randint
>>> ri2 = lambda x: ''.join(ri(0,9,x).astype('S'))
>>> a = array([float(ri2(x)+ '.' + ri2(y)) for x,y in ri(1,10,(10,2))])
>>> a
array([ 7.99914000e+01, 2.08000000e+01, 3.94000000e+02,
4.66100000e+03, 5.00000000e+00, 1.72575100e+03,
3.91500000e+02, 1.90610000e+04, 1.16247000e+04,
3.53920000e+02])
Run Code Online (Sandbox Code Playgroud)
我想要一个字符串列表,其中'\n'.join(list_o_strings)将打印:
79.9914
20.8
394.0
4661.0
5.0
1725.751
391.5
19061.0
11624.7
353.92
Run Code Online (Sandbox Code Playgroud)
我想空间垫的左侧和右侧(但没有超过必要的).
如果小数点后面的所有内容,我想在小数点后面加零.
我不想要科学记谱法.
..我不想丢失任何有效数字.(在353.98000000000002中2表示不重要)
是的,很高兴想要..
Python 2.5 %g, %fx.x等等要么迷惑我,要么无法做到.我还没有尝试过import decimal.我看不出NumPy是这样做的(虽然,array.__str__和array.__repr__十进制对齐(但有时会返回科学).
哦,速度很重要.我在这里处理大阵列.
我目前的解决方案是:
似乎应该有一些现成的解决方案......(但不是必需的)
最佳建议失败,何时dtype是float64: …