我读到numpy在四舍五入方面没有偏见,并且它的工作方式与其设计方式相同。那就是“如果您总是将0.5舍入到下一个最大数字,那么一堆舍入数字的平均值可能会比未舍入数字的平均值稍大:这种偏差或漂移可能会对某些数值算法产生非常不利的影响,使它们不准确。”
忽略此信息并假设我总是想四舍五入,如何在numpy中做到这一点?假设我的数组可能很大。
为了简单起见,假设我有数组:
import numpy as np
A = [ [10, 15, 30], [25, 134, 41], [134, 413, 51]]
A = np.array(A, dtype=np.int16)
decimal = A * .1
whole = np.round(decimal)
小数看起来像:
[[ 1. 1.5 3. ]
[ 2.5 13.4 4.1]
[ 13.4 41.3 5.1]]
整体看起来像:
[[ 1. 2. 3.]
[ 2. 13. 4.]
[ 13. 41. 5.]]
如您所见,将1.5舍入为2,将2.5舍入为2。我如何强制始终为XX.5获得舍入答案?我知道我可以遍历数组并使用python
round(),但这肯定会慢得多。想知道是否有一种方法可以使用numpy函数
import numpy as np
A = [ [1.0, 1.5, 3.0], [2.5, 13.4, 4.1], [13.4, 41.3, 5.1]]
A = np.array(A)
print(A)
def rounder(x):
if (x-int(x) >= 0.5):
return np.ceil(x)
else:
return np.floor(x)
rounder_vec = np.vectorize(rounder)
whole = rounder_vec(A)
print(whole)
另外,您也可以查看numpy.ceil,numpy.floor,numpy.trunc以获得其他舍入样式
我知道如何在 Windows 版本中做到这一点,但在 ubuntu 上,我在设置/外观中没有“显示行号”切克框 谢谢
所有数字都更改为浮点,带有一个<代码>。0连接到末尾。 我试过parseInt、toFixed、round、floor和其他所有明显的选择。 一个简单的例子: 日志显示“Number”类型的浮点值,长度值为5.0。 任何添加数字的尝试都会导致相同的结果 日志仍显示浮点值 我希望返回一个整数
我想四舍五入任何双到一个字符串2小数位在Java。我尝试过使用十进制格式,但它没有给出预期的结果。任何帮助将不胜感激。 Ex: I/P:3402100.5323 我想将其转换为: O/P: 34.02 我尝试过使用DecimalFormat(“###,##,##,###0.00”,新的DecimalFormatSymbols(Locale.US))但结果是340210.53,而我希望它输出34.0
问题内容: 我可以使用执行终端命令,但是我想捕获该命令的输出。我怎样才能做到这一点? 问题答案: import subprocess >>> cmd = [ ‘echo’, ‘arg1’, ‘arg2’ ] >>> output = subprocess.Popen( cmd, stdout=subprocess.PIPE ).communicate()[0] >>> print output a
有人能告诉我如何永远隐藏视图吗? 我用隐藏了一个视图,但是当重新打开应用程序时,我必须重新隐藏该视图。我想要一个视图隐藏总是当按钮被点击,直到清除应用程序数据或卸载。谢了!
问题内容: 在以下代码中使用SimpleDateFormatter.format时,startDateText TextView中12:00和12:59之间的小时显示为00:00到00:59,而从13:00开始,它们正确显示为13:xx,14: xx直到23:59。 -—根据要求重构代码当dtold.parse(…)中的字符串为in时,示例的输出小时为00:00,当其为“ 13:00”时,则正确为