相关疑难解决方法(0)

如何在Python中将数字舍入为有效数字

我需要对浮点数进行舍入以在UI中显示.例如,一个重要人物:

1234 - > 1000

0.12 - > 0.1

0.012 - > 0.01

0.062 - > 0.06

6253 - > 6000

1999年 - > 2000年

有没有一种很好的方法可以使用Python库来实现这一点,还是我必须自己编写?

python math rounding

130
推荐指数
9
解决办法
16万
查看次数

将序列四舍五入为 N 位有效数字

我有一个浮点数数据框,我需要创建一个函数,该函数将采用一列并将所有值四舍五入为 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)

但它不适用于系列或数据框

python math rounding pandas

8
推荐指数
1
解决办法
1万
查看次数

使用 matplotlib 的对数滑块

我刚刚在我的图中实现了一个滑块,效果很好。(我使用了这个例子:http://matplotlib.org/examples/widgets/slider_demo.html)现在我的问题是是否可以使滑块对数。我的值范围在 0 和 1 之间,我想从 0.01 更改为 0.02 等等,但也可以从 0.01 更改为 0.5。这就是为什么我认为对数刻度会很好。另外,如果这无法通过滑块实现,那么您是否还有其他想法来实现这一点?

python matplotlib

5
推荐指数
1
解决办法
3067
查看次数

关于python数字的重要数字

嗨,我有一个奇怪的问题.我正在转换一个数字列表(代表物理测量),其中每个数据都以任意单位报告给某些指定的准确度,具体取决于它的来源.这是我的意思的一个例子:

[...,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中做到这一点?

python numpy significant-digits

0
推荐指数
1
解决办法
1830
查看次数

标签 统计

python ×4

math ×2

rounding ×2

matplotlib ×1

numpy ×1

pandas ×1

significant-digits ×1