[英]Select indices where value np.nonzero() and ~np.isnan()
我只想 select 那些值不同于“南”和 0 的索引
df = pd.DataFrame({'A':[np.nan,3,0,2],
'B':[0,1,1,2]})
df = np.asarray(df)
df[np.nonzero(df) & ~np.isnan(df)]
array(3,1,1,2,2)
有谁知道它有什么问题?
通过numpy.ravel
将值转换为一维数组,然后将非0
值通过!= 0
进行比较:
a = np.ravel(df.to_numpy())
a = a[(a != 0) & ~np.isnan(a)]
print (a)
[3. 1. 1. 2. 2.]
就像提到的@sammywemmy,谢谢,这里np.ravel
:
a = df.to_numpy()
a = a[(a != 0) & ~np.isnan(a)]
print (a)
[3. 1. 1. 2. 2.]
您无法通过numpy.nonzero
进行比较,因为它返回索引而不是掩码:
返回非零元素的索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.