代码
import numpy as np
a = 5.92270987499999979065
print(round(a, 8))
print(round(np.float64(a), 8))
Run Code Online (Sandbox Code Playgroud)
给
5.92270987
5.92270988
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?
在numpy来源中找不到任何相关内容.
更新:
我知道处理这个问题的正确方法是以这种差异无关紧要的方式构建程序.我做的.我在回归测试中偶然发现了它.
Update2:
关于@VikasDamodar评论.人们不应该相信这个repr()功能:
>>> np.float64(5.92270987499999979065)
5.922709875
>>> '%.20f' % np.float64(5.92270987499999979065)
'5.92270987499999979065'
Run Code Online (Sandbox Code Playgroud)
Update3:
在python3.6.0 x32,numpy 1.14.0,win64上测试.另外在python3.6.4 x64,numpy 1.14.0,debian.
Update4:
只是为了确定:
import numpy as np
a = 5.92270987499999979065
print('%.20f' % round(a, 8))
print('%.20f' % round(np.float64(a), 8))
5.92270987000000026512
5.92270988000000020435
Run Code Online (Sandbox Code Playgroud)
Update5:
以下代码演示了在不使用str以下情况下发生差异的阶段:
>>> np.float64(a) - 5.922709874
1.000000082740371e-09
>>> a - 5.922709874
1.000000082740371e-09
>>> round(np.float64(a), 8) - 5.922709874
6.000000496442226e-09
>>> round(a, 8) - …Run Code Online (Sandbox Code Playgroud) 我使用此代码来测试 CatBoostClassifier。
import numpy as np
from catboost import CatBoostClassifier, Pool
# initialize data
train_data = np.random.randint(0, 100, size=(100, 10))
train_labels = np.random.randint(0, 2, size=(100))
test_data = Pool(train_data, train_labels) #What is Pool?When to use Pool?
# test_data = np.random.randint(0,100, size=(20, 10)) #Usually we will use numpy array,will not use Pool
model = CatBoostClassifier(iterations=2,
depth=2,
learning_rate=1,
loss_function='Logloss',
verbose=True)
# train the model
model.fit(train_data, train_labels)
# make the prediction using the resulting model
preds_class = model.predict(test_data)
preds_proba = model.predict_proba(test_data)
print("class = ", …Run Code Online (Sandbox Code Playgroud) 有时不希望为布尔字段显示"开/关"图标.
例:
error当出现错误或时,字段显示一个快乐的绿色'ok'图标blocked=True显示为绿色'ok',而blocked=False'no entry'标志.在这种情况下,保持原始True/ False行为会更好.
有没有更优雅的方式不是创建一个特殊的方法返回例如self.error,添加short_description,ordering等等呢?
css_classes如果我通过 服务我的应用程序,如何将 css 属性分配给分配给小部件的自定义类bokeh serve --show?
from bokeh.models import Button
button = Button(label="Press Me", css_classes=['myclass'])
curdoc().add_root(button)
Run Code Online (Sandbox Code Playgroud) a.py:
import numpy
Run Code Online (Sandbox Code Playgroud)
柴堆
a.py:1:0 Undefined import [21]: Could not find a module corresponding to import `numpy`.
Run Code Online (Sandbox Code Playgroud)
虽然我肯定已经安装了 numpy。
环境:Ubuntu、python 3.7.1、pyre 0.0.22、numpy 1.16.2
当我执行"git log --oneline"时,我有以下最近的提交...我想重置为"8ec2027",我尝试了一些无效的rebase命令..这是什么命令才能做到这一点?
2503013 code: cs release 1.2.3.47
269ed14 code: Fixed below issues due to which 2nd client is not associating to GO
dca02a3 code: Donot allow the scan during WPS/EAPOL exchange.
b2fee57 code: MCC Adaptive Scheduler
6af29c4 code: Not able to connect more then 10 STA
150aacd code: Fix the Max Tx power value in 5G band and .ini support for 11h
8ec2027 Merge "code: cs release 1.2.3.46"
9015b60 Merge "code: Quarky Support on Prima"
......
Run Code Online (Sandbox Code Playgroud) python ×4
numpy ×2
bokeh ×1
boolean ×1
catboost ×1
css ×1
deployment ×1
django ×1
django-admin ×1
gerrit ×1
git ×1
pyqt ×1
pyqt5 ×1
pyre-check ×1
python-3.x ×1
qmake ×1
qt ×1
rounding ×1
scikit-learn ×1
widget ×1