我需要对浮点数进行舍入以在UI中显示.例如,一个重要人物:
1234 - > 1000
0.12 - > 0.1
0.012 - > 0.01
0.062 - > 0.06
6253 - > 6000
1999年 - > 2000年
有没有一种很好的方法可以使用Python库来实现这一点,还是我必须自己编写?
我有一个浮点数数据框,我需要创建一个函数,该函数将采用一列并将所有值四舍五入为 N 个有效数字
所以该列可能看起来像这样:
123.949
23.87
1.9865
0.0129500
Run Code Online (Sandbox Code Playgroud)
如果我想四舍五入到 3 个有效数字,我会将列和 3 传递给函数来得到这个
124.0
23.9
1.99
0.013
Run Code Online (Sandbox Code Playgroud)
如何在不循环列的情况下有效地完成此操作?
我有一个方程可以计算一个数字的有效数字
round(x, N-int(floor(log10(abs(x))))
Run Code Online (Sandbox Code Playgroud)
但它不适用于系列或数据框
我刚刚在我的图中实现了一个滑块,效果很好。(我使用了这个例子:http://matplotlib.org/examples/widgets/slider_demo.html)现在我的问题是是否可以使滑块对数。我的值范围在 0 和 1 之间,我想从 0.01 更改为 0.02 等等,但也可以从 0.01 更改为 0.5。这就是为什么我认为对数刻度会很好。另外,如果这无法通过滑块实现,那么您是否还有其他想法来实现这一点?
嗨,我有一个奇怪的问题.我正在转换一个数字列表(代表物理测量),其中每个数据都以任意单位报告给某些指定的准确度,具体取决于它的来源.这是我的意思的一个例子:
[...,105.0,20.0,3.5,4.25,9.78,7.2,7.2]
Run Code Online (Sandbox Code Playgroud)
这些当然是类型:
<type 'numpy.float64'>.
Run Code Online (Sandbox Code Playgroud)
如果我打印出最后一个号码,例如:
print list[-1]
>>> 7.2
Run Code Online (Sandbox Code Playgroud)
但是,如果以这种方式访问,我得到:
7.2000000000000002
Run Code Online (Sandbox Code Playgroud)
我理解浮点数默认为64位,因此使用它们进行计算(即 - 转换此测量列表)会返回64位的转换值.以下是转换值的示例:
[105.27878958,20.0281600192,3.47317185649,4.27596751688,9.82706595042,7.27448290596,7.26291009446]
Run Code Online (Sandbox Code Playgroud)
以任何一种方式访问它们(使用打印与否),返回64位数字.但显然还有其他事情发生,否则打印功能就不会真正知道如何显示真实的测量结果.我想将转换后的值报告为与原始测量值相同的精度.有没有办法在python中做到这一点?