no data exclution and unique combination.
MRAB
python at mrabarnett.plus.com
Tue Jul 24 15:08:38 EDT 2012
More information about the Python-list mailing list
Tue Jul 24 15:08:38 EDT 2012
- Previous message (by thread): no data exclution and unique combination.
- Next message (by thread): no data exclution and unique combination.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 24/07/2012 19:51, MRAB wrote: > On 24/07/2012 19:27, giuseppe.amatulli at gmail.com wrote: >> Hi, >> would like to take eliminate a specific number in an array and its correspondent in an other array, and vice-versa. >> >> given >> >> a=np.array([1,2,4,4,5,4,1,4,1,1,2,4]) >> b=np.array([1,2,3,5,4,4,1,3,2,1,3,4]) >> >> no_data_a=1 >> no_data_b=2 >> >> a_clean=array([4,4,5,4,4,4]) >> b_clean=array([3,5,4,4,3,4]) >> >> after i need to calculate unique combination in pairs to count the observations >> and obtain >> (4,3,2) >> (4,5,1) >> (5,4,1) >> (4,4,2) >> >> For the fist task i did >> >> a_No_data_a = a[a != no_data_a] >> b_No_data_a = b[a != no_data_a] >> >> b_clean = b_No_data_a[b_No_data_a != no_data_b] >> a_clean = a_No_data_a[a_No_data_a != no_data_b] >> >> but the results are not really stable. >> > mask = (a != no_data_a) & (b != no_data_b) > a_clean = a[mask] > b_clean = b[mask] > >> For the second task >> The np.unique would solve the problem if it can be apply to a two arrays. >> I couldn't figure out how to do the second part in numpy, so: from collections import Counter counts = Counter(zip(a_clean, b_clean)) counts = [pair + (count,) for pair, count in counts.items()]
- Previous message (by thread): no data exclution and unique combination.
- Next message (by thread): no data exclution and unique combination.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list