在随后的数组找到值对

1视图(30天)
我处理选项数据,寻找号召使对在一个巨大的数据集。我相当新的MatLab和绝望需要帮助的。
例如,我有一个表有4列和11 arays,看起来像这样:
我需要的是移除所有数组,没有匹配的称之为“C”,反之亦然匹配把“P”,同“日期”和“exdate”和“strike_price”。
最后,我只需要参阅第10和11组,他们在列1/2/4匹配和不匹配cloumn 3。
谁能帮我吗?谢谢提前和所有最好的。

接受的答案

凸轮扎尔茨贝格
凸轮扎尔茨贝格 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:);
凸轮
1评论
Kai Koslowsky
Kai Koslowsky 2021年9月14日
编辑:Kai Koslowsky 2021年9月14日
你好,凸轮,
谢谢你的快速反应。
有一些调整,一开始,你成功了!我曾经(也许不是最简单的方法,但工作)grp2inx dateTable转换。cp_flag索引和从那里分离调用,并在自己的表。strcmp-Function只给了我第一个数组的两个表,与电话0,把1(这里不知道我做错了什么)。
我有一个数据集的ca。11绪数组,我试着你的第二部分只有少量的数组和做得很成功。我又做了同样的事情,但现在我寻找所有的将保持和循环使用。最后我结合两个表和使用sortrows-function把号召使双。
你今天真让我高兴凸轮,非常感谢你。
所有最好的照顾,
凯。

登录置评。

更多的答案(0)

类别

找到更多的在数据类型识别帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的