python - 无法理解 np.arange 中命令的输出
问题描述
i=np.arange(0,2.1,0.5,dtype='int8')
print(i)
[0 0 0 0 0]
g=np.arange(0.5,2.1,0.5,dtype='int8')
print(g)
[0 1 2 3]
n=np.arange(257,260,0.5,dtype='int16')
print(n)
[257 257 257 257 257 257]
p=np.arange(257,260,0.5,dtype='int8')
print(p)
[1 1 1 1 1 1]
o=np.arange(257.5,260,0.5,dtype='int16')
print(o)
[257 258 259 260 261]
q=np.arange(257.5,260,0.5,dtype='int8')
print(q)
[1 2 3 4 5]
解决方案
当使用非整数步长(例如 0.1)时,结果通常会不一致。对于这些情况,最好使用 numpy.linspace。
例如,由于您的第一个示例使用浮点数2.1
,因此会产生意想不到的结果。尝试使用Numpy Linspace
在您的第一个示例中使用 linspace 可能更有意义:
import numpy as np
i=np.linspace(0,2.1, num=3,dtype='int8')
print(i)
[0 1 2]
或没有 dtype='int8'
[0. 1.05 2.1]
推荐阅读
- spring-boot - Spring JPA 多个“schema-xx.sql”文件?
- reactjs - 在没有 ionic-native 的 Ionic React 项目中使用 Cordova 插件
- python - 通过 2 个索引数组切片 Numpy 数组
- swift - 如何修复 [WC] 由于缺少委托 Swift 而拒绝激活
- javascript - 在正则表达式中有 2 种可能的情况
- scala - 使用窗口 Hive 或 spark scala 进行数据排列
- reactjs - React Native TextInput:为什么secureEntryText会移出输入框并有省略号?
- hadoop - NIFI:使用kafka并将数据存储到hive中的正确方法
- python - 将两个数据框与两个公共列结合起来 - python
- c# - 迷失在界面变化中。接口
没有按预期工作