need help to reduce time for each loop
显示 更早的评论
i have 2 tables taxidata.pickup and TaxiRegionsandZones.pickup, i want to compare those two col and if they match it should creat a new col in taxidata.pickupzones (as TaxiRegionsandZones is categorical ), the new taxidata.pickupzones should have the name to that category.
for k = 1 : length(taxidata.PickupZone)
% for Lower Manhattan
for i = 1: length(TaxiRegionsandZones.LowerManhattan)
if taxidata.PickupZone(k) == TaxiRegionsandZones.LowerManhattan(i)
taxidata.PickupRegion(k) = "LowerManhattan";
end
end
i have tried this but it is taking a vary long time, is there any method to reduce the time
回答(1 个)
KSSV
2021-3-26
You need not to run loop for this. Read about function ismemeber, ismembertol, knnsearch.
[lia,lob] = ismember(taxidata.PickupZone,TaxiRegionsandZones.LowerManhattan) ;
4 个评论
the king
2021-3-26
Rik
2021-3-26
Did you experiment with what ismember does? Did you read the documentation?
the king
2021-3-26
Rik
2021-3-26
Can you see how lia and lob are related to the values of k and i for which you did the assignment?
If you have trouble with Matlab basics you may consider doing the Onramp tutorial (which is provided for free by Mathworks).
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!