在随后的数组找到值对
1视图(30天)
显示旧的评论
我处理选项数据,寻找号召使对在一个巨大的数据集。我相当新的MatLab和绝望需要帮助的。
例如,我有一个表有4列和11 arays,看起来像这样:
我需要的是移除所有数组,没有匹配的称之为“C”,反之亦然匹配把“P”,同“日期”和“exdate”和“strike_price”。
最后,我只需要参阅第10和11组,他们在列1/2/4匹配和不匹配cloumn 3。
谁能帮我吗?谢谢提前和所有最好的。
0评论
接受的答案
凸轮扎尔茨贝格
2021年9月13日
你好凯,
如果订单没有关系(即“叫”不需要“放”)之前,你可以把数据分成两个表,一个用于调用条目,一个用于把条目。它可能类似于:
whichCall = strcmp (dataTable.cp_flag,“C”);
callTable = dataTable (whichCall:);
可卖回的= dataTable (~ whichCall:);
然后就可以用其中一个逐行(最好如果是哪个表通常是短),看看是否有其他表中的匹配条目。如果有匹配条目,把表中的一个迭代。否则,删除这条线。我会跟踪它单独和删除一切结束时,为了更好的索引。
nCalls =大小(callTable, 1);
whichCallRowsKeep = false (nCalls, 1);
为k = 1: nCalls
%使用element-wise和(&)一起来比较每一行
whichMatchAllThree =…
可卖回的。日期= = callTable.date (k) &…
可卖回的。exdate = = callTable.exdate (k) &…
可卖回的。strike_price = = callTable.strike_price (k);
%如果有任何匹配的行,保持电话行
whichCallRowsKeep (k) = (whichMatchAllThree);
结束
%删除所有电话行不匹配条目
filteredCallTable = callTable (whichCallRowsKeep:);
凸轮