有没有内置函数来丢弃整数并且只保留浮点数numpy
.
import numpy as np
input = np.array([0.0, 0.01, 1.0, 2.0, 2.001, 2.002])
desired_ouput = some_function(input)
# Expected ouput
# desired_output = np.array([0.01, 2.001, 2.002])
Run Code Online (Sandbox Code Playgroud)
Joe*_*don 16
掩码每个元素是否等于整数.
arr = np.array([0.0, 0.01, 1.0, 2.0, 2.001, 2.002])
out = arr[arr != arr.astype(int)]
#np.array([0.01, 2.001, 2.002])
Run Code Online (Sandbox Code Playgroud)
Spg*_*tCd 14
我不这么认为.我的方法是
import numpy as np
a = np.array([0.0, 0.01, 1.0, 2.0, 2.001, 2.002])
mask = np.isclose(a, a.astype(int))
print(a[~mask])
#[ 0.01 2.001 2.002]
Run Code Online (Sandbox Code Playgroud)
我知道没有内置功能.但你可以自己创建一个:
import numpy as np
A = np.array([0.0, 0.01, 1.0, 2.0, 2.001, 2.002])
def remove_ints(arr):
return arr[~(arr == arr.astype(int))]
res = remove_ints(A)
array([ 0.01 , 2.001, 2.002])
Run Code Online (Sandbox Code Playgroud)
除此之外,您不应该使用内置类,例如input
变量名.
我一直np.equal
与np.mod
:
>>> A[~np.equal(np.mod(A, 1), 0)]
array([0.01 , 2.001, 2.002])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2553 次 |
最近记录: |