CPo_droid / appStore /tapp_display.py
ppsingh's picture
Update appStore/tapp_display.py
318de35 verified
raw
history blame
2.93 kB
# set path
import glob, os, sys;
sys.path.append('../utils')
#import needed libraries
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import streamlit as st
from st_aggrid import AgGrid
import logging
logger = logging.getLogger(__name__)
from io import BytesIO
import xlsxwriter
import plotly.express as px
from pandas.api.types import (
is_categorical_dtype,
is_datetime64_any_dtype,
is_numeric_dtype,
is_object_dtype,
is_list_like)
def targets():
if 'key1' in st.session_state:
df = st.session_state['key1'].copy()
idx = df['NetzeroLabel_Score'].idxmax()
netzero_placeholder = df.loc[idx, 'text']
df = df.drop(df.filter(regex='Score').columns, axis=1)
df = df[df.TargetLabel==True].reset_index(drop=True)
df['keep'] = True
df.drop(columns = ['ActionLabel','PolicyLabel','PlansLabel'], inplace=True)
st.session_state['target_hits'] = df
st.session_state['netzero'] = netzero_placeholder
def target_display():
if 'key1' in st.session_state:
st.caption(""" **{}** is splitted into **{}** paragraphs/text chunks."""\
.format(os.path.basename(st.session_state['filename']),
len(st.session_state['key0'])))
hits = st.session_state['target_hits']
if len(hits) !=0:
# collecting some statistics
count_target = sum(hits['TargetLabel'] == True)
count_ghg = sum(hits['GHGLabel'] == True)
count_netzero = sum(hits['NetzeroLabel'] == True)
count_nonghg = sum(hits['NonGHGLabel'] == True)
count_Mitigation = sum(hits['MitigationLabel'] == True)
count_Adaptation = sum(hits['AdaptationLabel'] == True)
c1, c2 = st.columns([1,1])
with c1:
st.write('**Target Related Paragraphs**: `{}`'.format(count_target))
st.write('**Netzero Related Paragraphs**: `{}`'.format(count_netzero))
with c2:
st.write('**GHG Target Related Paragraphs**: `{}`'.format(count_ghg))
st.write('**NonGHG Target Related Paragraphs**: `{}`'.format(count_nonghg))
st.write('----------------')
cols = list(hits.columns)
sector_cols = list(set(cols) - {'TargetLabel','MitigationLabel','AdaptationLabel','GHGLabel','NetzeroLabel','NonGHGLabel'})
placeholder= []
for col in sector_cols:
placeholder.append({'Sector':col,'Count':sum(hits[col])})
sector_df = pd.DataFrame.from_dict(placeholder)
fig = px.bar(sector_df, x='Sector', y='Count')
st.plotly_chart(fig,use_container_width= True)
st.dataframe(hits)
else:
st.info("🤔 No Targets Found")