[Numpy-discussion] How to get Boolean matrix for similar lists in two different-size numpy arrays of lists
Ali Sheikholeslam
sheikholeslam.ali at gmail.com
Sun Mar 14 15:04:58 EDT 2021
I have written a question in:
https://stackoverflow.com/questions/66623145/how-to-get-boolean-matrix-for-similar-lists-in-two-different-size-numpy-arrays-o
It was recommended by numpy to send this subject to the mailing lists.
The question is as follows. I would be appreciated if you could advise me
to solve the problem:
At first, I write a small example of to lists:
F = [[1,2,3],[3,2,7],[4,4,1],[5,6,3],[1,3,7]] # (1*5) 5 lists
S = [[1,3,7],[6,8,1],[3,2,7]] # (1*3) 3 lists
I want to get Boolean matrix for the same 'list's in two F and S:
[False, True, False, False, True] # (1*5) 5
Booleans for 5 lists of F
By using IM = reduce(np.in1d, (F, S)) it gives results for each number in
each lists of F:
[ True True True True True True False False True False True True
True True True] # (1*15)
By using IM = reduce(np.isin, (F, S)) it gives results for each number in
each lists of F, too, but in another shape:
[[ True True True]
[ True True True]
[False False True]
[False True True]
[ True True True]] # (5*3)
The true result will be achieved by code IM = [i in S for i in F] for the
example lists, but when I'm using this code for my two main bigger numpy
arrays of lists:
https://drive.google.com/file/d/1YUUdqxRu__9-fhE1542xqei-rjB3HOxX/view?usp=sharing
numpy array: 3036 lists
https://drive.google.com/file/d/1FrggAa-JoxxoRqRs8NVV_F69DdVdiq_m/view?usp=sharing
numpy array: 300 lists
It gives wrong answer. For the main files it must give 3036 Boolean, in
which 'True' is only 300 numbers. I didn't understand why this get wrong
answers?? It seems it applied only on the 3rd characters in each lists of
F. It is preferred to use reduce function by the two functions, np.in1d and
np.isin, instead of the last method. How could to solve each of the three
above methods??
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20210314/78a7d24b/attachment-0001.html>
More information about the NumPy-Discussion
mailing list