code: Find user's landmarks timestamps
This commit is contained in:
		@ -1,5 +1,6 @@
 | 
				
			|||||||
#!/usr/bin/env python3
 | 
					#!/usr/bin/env python3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import ast
 | 
				
			||||||
from datetime import datetime
 | 
					from datetime import datetime
 | 
				
			||||||
from geopy.distance import distance
 | 
					from geopy.distance import distance
 | 
				
			||||||
import heapq
 | 
					import heapq
 | 
				
			||||||
@ -873,6 +874,41 @@ def find_lmdks(usrs_data, args):
 | 
				
			|||||||
  return usrs_lmdks
 | 
					  return usrs_lmdks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def find_lmdks_cont(lmdk_data, seq, uid, pct):
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
 | 
					    Find user's landmarks timestamps.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Parameters:
 | 
				
			||||||
 | 
					      lmdk_data - The landmarks contacts for all users per 
 | 
				
			||||||
 | 
					                  landmarks percentage.
 | 
				
			||||||
 | 
					                  0: uid, 1: lmdk_pct, 2: contacts
 | 
				
			||||||
 | 
					      seq       - The users' data.
 | 
				
			||||||
 | 
					                  0: uid, 1: lmdk_pct, 2: contacts
 | 
				
			||||||
 | 
					      uid       - The user's id that we are interested in.
 | 
				
			||||||
 | 
					      pct       - The landmarks percentage.
 | 
				
			||||||
 | 
					    Returns:
 | 
				
			||||||
 | 
					      lmdks - The user's landmarks timestamps for the given 
 | 
				
			||||||
 | 
					              landmarks percentage.
 | 
				
			||||||
 | 
					              0: tim, 1: uid_a, 2: uid_b, 3: rssi
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
 | 
					  # Initialize user's landmarks
 | 
				
			||||||
 | 
					  lmdks = np.empty(0)
 | 
				
			||||||
 | 
					  # All the sequence
 | 
				
			||||||
 | 
					  if pct == 100:
 | 
				
			||||||
 | 
					    # Get all timestamps
 | 
				
			||||||
 | 
					    return seq[:, 1]
 | 
				
			||||||
 | 
					  # Find for given percentage
 | 
				
			||||||
 | 
					  elif pct != 0:
 | 
				
			||||||
 | 
					    # All user's landmark contacts for all landmarks percentages
 | 
				
			||||||
 | 
					    usr_lmdks = lmdk_data[lmdk_data[:, 0] == uid]
 | 
				
			||||||
 | 
					    # User's landmark contacts for given percentage
 | 
				
			||||||
 | 
					    pct_lmdks = ast.literal_eval(usr_lmdks[usr_lmdks[:, 1] == str(pct/100)][0][2])
 | 
				
			||||||
 | 
					    # Find landmarks timestamps
 | 
				
			||||||
 | 
					    for u in pct_lmdks:
 | 
				
			||||||
 | 
					      lmdks = np.concatenate((lmdks, np.array(seq[seq[:, 2] == float(u)])[:, 0]))
 | 
				
			||||||
 | 
					  return lmdks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def lmdks_stats(args, usrs_lmdks):
 | 
					def lmdks_stats(args, usrs_lmdks):
 | 
				
			||||||
  '''
 | 
					  '''
 | 
				
			||||||
    Generate landmarks' stats.
 | 
					    Generate landmarks' stats.
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user