import pandas as pd import streamlit as st def csv_uploader(label:str='', type:str='csv'): uploaded_file = st.file_uploader(label=label, type=type) loading_data = None if uploaded_file is not None: if type == 'csv': loading_data = pd.read_csv(uploaded_file, na_values=-9999) return loading_data @st.cache_data def tweak_data(data, reindex:bool=True, resample:bool=False, max_number:int=5000): if data is not None: data = data.rename(str.upper, axis='columns') if len(data) > max_number and resample: data = data.sample(max_number, random_state=42) if set(["DEPTH", 'WELL']).issubset(data.columns.unique()): data.assign( DEPTH=data.DEPTH.astype('float64'), WELL=data.WELL.astype("string"), ) if "FRACTURE_ZONE" in data.columns.unique(): data = data.rename(columns={'FRACTURE_ZONE':'FRACTUREZONE'}) if "FRACTURE INTENSITY" in data.columns.unique(): data = data.rename(columns={'FRACTURE INTENSITY':'FRACTURE_INTENSITY'}) # if "FRACTUREZONE" in data.columns.unique(): # data = data.reset_index(drop=True).drop(["FRACTUREZONE"], axis=1) if reindex: data = data.reindex(sorted(data.columns), axis=1) #Reindex and sort columns name return data