【发布时间】:2016-03-09 14:09:27
【问题描述】:
我需要翻译matlab代码
indexSelect0 = a.index1==0 & a.index2==wRange;
变成了一种快速的python风格。我的尝试是:
idx1=np.array(np.where(a['index2'][:,0]==wIndex2))
idx=np.array(np.where(a['index1'][:,0]==wIndex1))
indexSelect0 = ma.masked_array(idx,mask=[not (i in idx1[0,:]) for i in idx[0,:]])
但由于数组很长(超过 5M 的样本),因此需要一段时间。
问题可以表述为:我有一组由不同观察组成的数据。我有 2 个索引可以让我知道在哪里是什么。但我无法找到组合两个选项来过滤数据的正确方法。
希望清楚。
感谢您的帮助
【问题讨论】:
-
你的
a是什么?是数据框吗?能否提供样本数据? -
a 是一个字典。如果 a 是数据框会更容易吗?
标签: python arrays matlab numpy logical-operators