Here I am creating a dictionary which will identify the latest duplicate app based on the largest review count. My function works great for android, but for iOS, it takes out far too many records:
def create_review_count_dictionary(name_column_num, review_column_num, dataset):
review_count_dict = {}
for app in dataset[1:]:
app_name = app[name_column_num]
if app_name not in review_count_dict:
review_count_dict[app_name] = float(app[review_column_num])
else:
if float(review_count_dict[app_name]) < float(app[review_column_num]):
review_count_dict[app_name] = float(app[review_column_num])
return review_count_dict
Here is the function call:
and_review_count_col_num = 3
ios_review_count_col_num = 5
and_name_col_num = 0
ios_name_col_num = 1
print('Length of dict for Android: ',
len(create_review_count_dictionary(and_name_col_num , and_review_count_col_num, android)))
print('Length of dict for iOS: ',
len(create_review_count_dictionary(ios_name_col_num , ios_review_count_col_num, ios)))
Expected output of length of dictionary for ios is 7196 but it gives a length of 3199!