normalise common names
This commit is contained in:
@@ -67,14 +67,22 @@ def get_connection(path: str):
|
|||||||
|
|
||||||
def get_data(_conn: Connection):
|
def get_data(_conn: Connection):
|
||||||
print_now('** get_data **')
|
print_now('** get_data **')
|
||||||
df1 = pd.read_sql("SELECT * FROM detections", con=conn)
|
df1 = pd.read_sql("SELECT Date, Time, Sci_Name, Com_Name, Confidence, File_Name FROM detections", con=_conn)
|
||||||
return df1
|
return df1
|
||||||
|
|
||||||
|
|
||||||
|
@st.cache_data(max_entries=1)
|
||||||
|
def normalise_com_name(df):
|
||||||
|
print_now('** normalise_com_name **')
|
||||||
|
latest_com_names = df.groupby('Sci_Name').tail(1)
|
||||||
|
df.rename(columns={'Com_Name': 'Directory'}, inplace=True)
|
||||||
|
df['DateTime'] = pd.to_datetime(df['Date'] + " " + df['Time'])
|
||||||
|
return df.merge(latest_com_names[['Sci_Name', 'Com_Name']].set_index('Sci_Name'), how='left', on='Sci_Name').set_index('DateTime')
|
||||||
|
|
||||||
|
|
||||||
conn = get_connection(URI_SQLITE_DB)
|
conn = get_connection(URI_SQLITE_DB)
|
||||||
df2 = get_data(conn)
|
df2 = get_data(conn)
|
||||||
df2['DateTime'] = pd.to_datetime(df2['Date'] + " " + df2['Time'])
|
df2 = normalise_com_name(df2)
|
||||||
df2 = df2.set_index('DateTime')
|
|
||||||
|
|
||||||
if len(df2) == 0:
|
if len(df2) == 0:
|
||||||
st.info('No data yet. Please come back later.')
|
st.info('No data yet. Please come back later.')
|
||||||
@@ -127,7 +135,7 @@ if start_date == end_date:
|
|||||||
resample_times = {'Raw': 'Raw',
|
resample_times = {'Raw': 'Raw',
|
||||||
'1 minute': '1min',
|
'1 minute': '1min',
|
||||||
'15 minutes': '15min',
|
'15 minutes': '15min',
|
||||||
'Hourly': '1H'
|
'Hourly': '1h'
|
||||||
}
|
}
|
||||||
resample_time = resample_times[resample_sel]
|
resample_time = resample_times[resample_sel]
|
||||||
|
|
||||||
@@ -139,7 +147,7 @@ else:
|
|||||||
resample_times = {'Raw': 'Raw',
|
resample_times = {'Raw': 'Raw',
|
||||||
'1 minute': '1min',
|
'1 minute': '1min',
|
||||||
'15 minutes': '15min',
|
'15 minutes': '15min',
|
||||||
'Hourly': '1H',
|
'Hourly': '1h',
|
||||||
'DAILY': '1D'
|
'DAILY': '1D'
|
||||||
}
|
}
|
||||||
resample_time = resample_times[resample_sel]
|
resample_time = resample_times[resample_sel]
|
||||||
@@ -373,14 +381,14 @@ if daily is False:
|
|||||||
|
|
||||||
with col2:
|
with col2:
|
||||||
try:
|
try:
|
||||||
recording = st.selectbox('Available recordings', recordings.sort_index(ascending=False))
|
recording = st.selectbox('Recordings', recordings.sort_index(ascending=False))
|
||||||
date_specie = df2.loc[df2['File_Name'] == recording, ['Date', 'Com_Name']]
|
date_specie = df2.loc[df2['File_Name'] == recording, ['Date', 'Com_Name', 'Directory']]
|
||||||
date_dir = date_specie['Date'].values[0]
|
date_dir = date_specie['Date'].values[0]
|
||||||
specie_dir = date_specie['Com_Name'].values[0].replace(" ", "_").replace("'", "")
|
specie_dir = date_specie['Directory'].values[0].replace(" ", "_").replace("'", "")
|
||||||
st.image(userDir + '/BirdSongs/Extracted/By_Date/' + date_dir + '/' + specie_dir + '/' + recording + '.png')
|
st.image(userDir + '/BirdSongs/Extracted/By_Date/' + date_dir + '/' + specie_dir + '/' + recording + '.png')
|
||||||
st.audio(userDir + '/BirdSongs/Extracted/By_Date/' + date_dir + '/' + specie_dir + '/' + recording)
|
st.audio(userDir + '/BirdSongs/Extracted/By_Date/' + date_dir + '/' + specie_dir + '/' + recording)
|
||||||
except Exception:
|
except Exception:
|
||||||
st.title('RECORDING NOT AVAILABLE :(')
|
st.info('Recording not available')
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user