i am building a streamlit project that allow the user to upload dataframe and one of the function is to be able to replace values in columns.
some columns have nan values so i replace it using np.nan
for other values i am replacing the old values with the new values.
when the user replace the nan value i used session state
to save the new values
than i continue with replacing the other values and save all the new values also using session state
.
The problem is that the system either save the new values for nan or the new values for other values and not both of them.
where is the error in my code ?
code:
old_val_repl_list=[]
new_val_repl_list=[]
number_of_replacement = st.number_input("Number of values To Replace",0,100)
if st.button("replace"):
for i in enumerate(range(int(number_of_replacement))):
if i ==(0,0):
df_repl=df[columns].replace(np.nan,new_val_repl_list[0],regex=True)
if "df_repl" not in st.session_state:
st.session_state.df_repl = df_repl
if i >(0,0):
df_repl=df[columns].replace(old_val_repl_list,new_val_repl_list,regex=True)
st.session_state.df_repl = df_repl
st.write(st.session_state.df_repl)
st.success("{} replace with {} successfully ".format(old_val_repl_list,new_val_repl_list))