From 8576473f4d6f16fc3c19c6af66d817e844b0bab8 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Mon, 16 Sep 2019 01:13:36 +0530 Subject: [PATCH] generated PIE chart for email provider(s) used by companies in India --- app.py | 21 +++++---- plots/mca_email_service_used_by_companies.png | Bin 0 -> 94784 bytes utilMultiState.py | 42 +++++++++++++++--- 3 files changed, 49 insertions(+), 14 deletions(-) create mode 100644 plots/mca_email_service_used_by_companies.png diff --git a/app.py b/app.py index ea76ce1..892d949 100644 --- a/app.py +++ b/app.py @@ -8,7 +8,7 @@ try: from model.corporateStat import CompaniesUnderState from util import * - from utilMultiState import plotAllCompaniesByStateUsingStatus, extractAllCompanyEmailProvider + from utilMultiState import * except ImportError as e: print('[!]Module Unavailable: {}'.format(str(e))) exit(1) @@ -93,13 +93,18 @@ def __getAllPossibleCompanyStatus__(companyDataSet): __getAllPossibleCompanyStatus__(allCompanyStatus)) )) ''' - allCompanies = map( - lambda v: CompaniesUnderState.importFromCSV( - __extract_state__(v), targetPath=join(targetPath, v)).companies, - filter( - lambda v: v.endswith('csv'), listdir(targetPath))) - print(extractAllCompanyEmailProvider(allCompanies)) - return 1.0 + return __divide__( + *__calculateSuccess__( + [plotTopEmailProvidersShare( + *extractAllCompanyEmailProvider( + map( + lambda v: CompaniesUnderState.importFromCSV( + __extract_state__(v), + targetPath=join(targetPath, v)).companies, + filter( + lambda v: v.endswith('csv'), listdir(targetPath)))), + 'Email Service used by Companies in India', + './plots/mca_email_service_used_by_companies.png')])) except Exception: return 0.0 diff --git a/plots/mca_email_service_used_by_companies.png b/plots/mca_email_service_used_by_companies.png new file mode 100644 index 0000000000000000000000000000000000000000..7622c06cbd7c03f9b670a0da6f858c08ffe3f194 GIT binary patch literal 94784 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

yFOXsQj21tI$=_fM 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 literal 0 HcmV?d00001 diff --git a/utilMultiState.py b/utilMultiState.py index 966d970..ab82686 100644 --- a/utilMultiState.py +++ b/utilMultiState.py @@ -74,6 +74,32 @@ def __calculatePercentageOfCompaniesOfSimilarStatusInState__(data: Dict) -> floa return False +def plotTopEmailProvidersShare(dataSet: Dict[str, int], total: int, title: str, targetPath: str) -> bool: + try: + wedgeSizes = [dataSet[i] for i in dataSet] + labels = ['{} ( {:.2f} % )'.format(i.capitalize(), dataSet[i]*100 / total) + for i in dataSet] + font = { + 'family': 'serif', + 'color': '#264040', + 'weight': 'normal', + 'size': 12 + } + plt.figure(figsize=(24, 12), dpi=100) + patches, _ = plt.pie(wedgeSizes) + plt.legend(patches, labels, loc='best', fontsize='medium') + plt.title(title, fontdict=font) + plt.axis('equal') + plt.tight_layout() + plt.savefig(targetPath, bbox_inches='tight', + pad_inches=.5) + plt.close() + return True + except Exception as e: + print(e) + return False + + ''' expected to take a chain of generator(s), each of them generating a stream of model.corporateStat.Company object(s), @@ -87,11 +113,12 @@ def __calculatePercentageOfCompaniesOfSimilarStatusInState__(data: Dict) -> floa ''' -def extractAllCompanyEmailProvider(dataStream: map) -> Dict[str, int]: +def extractAllCompanyEmailProvider(dataStream: map) -> (Dict[str, int], int): # Extracts email service provider's name using regular expression + def __getEmailProvider__(email: str) -> str: matchObj = reg.search(email) - return matchObj.group().replace('@', '').lower() if(matchObj) else None + return matchObj.group().lower() if(matchObj) else None # Increments usage count email service provider & returns updated Dictionary def __updateCounter__(holder: Dict[str, int], email: str) -> Dict[str, int]: @@ -104,9 +131,11 @@ def __updateCounter__(holder: Dict[str, int], email: str) -> Dict[str, int]: ''' # Keeps only top 5 elements ( having highest usage count ) in dictionary - def __cleanupCounter__(holder: Dict[str, int]) -> Dict[str, int]: + def __cleanupCounter__(holder: Dict[str, int], count: int, findTotal: bool = True) -> Dict[str, int]: + nonlocal total + total += sum(holder.values()) if findTotal else 0 return dict(map(lambda v: (v, holder[v]), sorted( - holder, key=lambda v: holder[v], reverse=True)[:5])) + holder, key=lambda v: holder[v], reverse=True)[:count])) # merges two usage count holder dictionaries (one holding everything calculated upto this point ) # and another one holding record for a certain state ( which we just processed ) @@ -118,14 +147,15 @@ def __mergeTwoDicts__(first: Dict[str, int], second: Dict[str, int]) -> Dict[str second, first) try: - reg = reg_compile(r'(@.+)') + total = 0 + reg = reg_compile(r'(?<=@)[^.]+(?=\.)') # processes each state of India at a time & extracts top 5 # email service providers, finally we calculate top 5 # email service providers used by companies spread across different states of India return __cleanupCounter__(reduce(lambda acc, cur: __mergeTwoDicts__(acc, __cleanupCounter__( reduce(lambda acc, cur: __updateCounter__( - acc, __getEmailProvider__(cur.email)), cur, {}))), dataStream, {})) + acc, __getEmailProvider__(cur.email)), cur, {}), 10)), dataStream, {}), 10, findTotal=False), total except Exception: return None