Update app.py
Browse files
app.py
CHANGED
|
@@ -25,19 +25,24 @@ todaydate2 = datetime.today().strftime("%Y-%m-%d")
|
|
| 25 |
df = get_df(todaydate2)
|
| 26 |
selectedcol = pn.widgets.Select(name='Select Ratio', value = 'PEG Ratio', options=list(df.columns))
|
| 27 |
selecteditem = pn.widgets.Select(name='Select Item', options=['Industry' , 'Sector'])
|
|
|
|
| 28 |
|
| 29 |
selectedhover = 'Ticker'
|
| 30 |
hv.extension('bokeh')
|
| 31 |
|
| 32 |
-
def create_plot(selectedcol,selecteditem,todaydate):
|
| 33 |
df = get_df(todaydate)
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
return df2.hvplot.bar(x=selecteditem, y=f'{selectedcol}_{selecteditem}_mean', hover_cols=selectedhover, height=800, width=1800).opts(xrotation=90, fontsize={'xticks': 10})
|
| 39 |
|
| 40 |
-
bound_plot = pn.bind(create_plot, selectedcol=selectedcol , selecteditem=selecteditem, todaydate=todaydate)
|
| 41 |
-
pn.Column(pn.Row(selectedcol, selecteditem, todaydate), bound_plot).servable(title="Financial Sector Ratios Navigator")
|
| 42 |
|
| 43 |
|
|
|
|
| 25 |
df = get_df(todaydate2)
|
| 26 |
selectedcol = pn.widgets.Select(name='Select Ratio', value = 'PEG Ratio', options=list(df.columns))
|
| 27 |
selecteditem = pn.widgets.Select(name='Select Item', options=['Industry' , 'Sector'])
|
| 28 |
+
selectedmethod = pn.widgets.Select(name='Select Method', value= 'Mean' , options=['Mean', 'Min' , 'Max'])
|
| 29 |
|
| 30 |
selectedhover = 'Ticker'
|
| 31 |
hv.extension('bokeh')
|
| 32 |
|
| 33 |
+
def create_plot(selectedcol,selecteditem,todaydate,selectedmethod):
|
| 34 |
df = get_df(todaydate)
|
| 35 |
+
if selectedmethod=='Mean':
|
| 36 |
+
group_means = df.groupby(selecteditem)[selectedcol].mean()
|
| 37 |
+
if selectedmethod=='Min':
|
| 38 |
+
group_means = df.groupby(selecteditem)[selectedcol].min()
|
| 39 |
+
if selectedmethod=='Max':
|
| 40 |
+
group_means = df.groupby(selecteditem)[selectedcol].max()
|
| 41 |
+
df2 = df.merge(group_means, left_on=selecteditem, right_index=True, suffixes=('', f'_{selecteditem}_{selectedmethod}'))
|
| 42 |
|
| 43 |
return df2.hvplot.bar(x=selecteditem, y=f'{selectedcol}_{selecteditem}_mean', hover_cols=selectedhover, height=800, width=1800).opts(xrotation=90, fontsize={'xticks': 10})
|
| 44 |
|
| 45 |
+
bound_plot = pn.bind(create_plot, selectedcol=selectedcol , selecteditem=selecteditem, todaydate=todaydate, selectedmethod=selectedmethod)
|
| 46 |
+
pn.Column(pn.Row(selectedcol, selecteditem, todaydate,selectedmethod), bound_plot).servable(title="Financial Sector Ratios Navigator")
|
| 47 |
|
| 48 |
|