packages = ["matplotlib", "pandas"] from js import createObject from pyodide.ffi import create_proxy createObject(create_proxy(globals()), "pyodideGlobals") import pandas as pd import os from pyodide.http import open_url url = ( "https://raw.githubusercontent.com/StrikerG1/Disease-description-dataset/683d8b725aa77ed69b26363520e2d203127223c6/processed-disease-description-dataset.csv" ) df = pd.read_csv(open_url(url)) def search_disease(disease, nameonly=False, inDF=df, dropnull=False): disease = disease.lower() if dropnull: if nameonly: return inDF[inDF.Name.str.contains(disease)].sort_values(by='Name',key=lambda x: x.str.len()).dropna() else: return inDF[inDF.Synonym.str.contains(disease)].sort_values(by='Synonym',key=lambda x: x.str.len()).dropna() else: if nameonly: return inDF[inDF.Name.str.contains(disease)].sort_values(by='Name',key=lambda x: x.str.len()) else: return inDF[inDF.Name.str.contains(disease) == False & inDF.Synonym.str.contains(disease)].sort_values(by='Synonym',key=lambda x: x.str.len()) #dname = input('Enter a disease name: ').lower() def formExecute(dname): dname = str(dname) #frames=[search_disease(dname,True),search_disease(dname,True)] #x = pd.concat(frames,ignore_index=True) #x= pd.concat([search_disease(dname,nameonly=True,dropnull=True),search_disease(dname,nameonly=False,dropnull=True)],ignore_index=True) x= search_disease(dname,nameonly=True,dropnull=True) try: #Element("disease-name").write('Disease: ' + x.iloc[0]['Name']) #Element("disease-description").write(x.iloc[0]['Definition'].replace('_',' ')) #Element("col1-row0").write(x.iloc[0]['Name']) #Element("col2-row0").write(x.iloc[0]['Definition'].replace('_',' ')) #print('Disease:', x.iloc[0]['Name']) #print('Description:\n', x.iloc[0]['Definition'].replace('_',' '), sep='') for idx in range(x.shape[0]):#, a in enumerate(x): if False:#idx == 20: break else: try: Element("col1-row"+str(idx)).write(x.iloc[idx]['Name']) except: Element("col1-row"+str(idx)).write("error") try: Element("col2-row"+str(idx)).write(x.iloc[idx]['Definition'].replace('_',' ')) except: Element("col2-row"+str(idx)).write("error") try: Element("col3-row"+str(idx)).write(x.iloc[idx]['Synonym']) except: Element("col3-row"+str(idx)).write("error") for idx in range(20-x.shape[0]): try: Element("col1-row"+str(idx+x.shape[0])).write("") Element("col2-row"+str(idx+x.shape[0])).write("") Element("col3-row"+str(idx+x.shape[0])).write("") except: pass except IndexError: #print('Sorry,',dname,'is not present in this database.') #return 'Sorry,',dname,'is not present in this database.' pass except Exception as e: #print('Exception',e,'occurred') pass class Circle(): def __init__(self, radius): self.radius = radius @property def area(self): return symbols['pi'] * self.radius**2