Inline removal of keywords
This commit is contained in:
@@ -345,25 +345,53 @@ def _(mo, tag_select):
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell(hide_code=True)
|
@app.cell
|
||||||
def _(frequency_df, min_freq_select, mo):
|
def _(frequency_df, min_freq_select, mo):
|
||||||
mo.stop('keyword' not in frequency_df.columns, "Waiting for keyword extraction to finish")
|
mo.stop('keyword' not in frequency_df.columns, "Waiting for keyword extraction to finish")
|
||||||
|
|
||||||
MIN_FREQ = min_freq_select.value
|
MIN_FREQ = min_freq_select.value
|
||||||
|
|
||||||
freq_df_filtered = frequency_df.loc[frequency_df['frequency'] >= MIN_FREQ].copy()
|
_freq_df_filtered = frequency_df.loc[frequency_df['frequency'] >= MIN_FREQ].copy()
|
||||||
|
|
||||||
freq_df_filtered.reset_index(drop=True, inplace=True)
|
table_selection = mo.ui.table(_freq_df_filtered, page_size=50)
|
||||||
|
|
||||||
keyword_freq_filtered = freq_df_filtered.set_index('keyword')['frequency'].to_dict()
|
|
||||||
|
|
||||||
table_selection = mo.ui.table(freq_df_filtered, page_size=50)
|
|
||||||
table_selection
|
table_selection
|
||||||
|
|
||||||
return (keyword_freq_filtered,)
|
return MIN_FREQ, table_selection
|
||||||
|
|
||||||
|
|
||||||
@app.cell
|
@app.cell(hide_code=True)
|
||||||
|
def _(mo, table_selection):
|
||||||
|
remove_rows_btn = None
|
||||||
|
if len(table_selection.value) >0 :
|
||||||
|
remove_rows_btn = mo.ui.run_button(label="Click to remove selected keywords and update xlsx")
|
||||||
|
|
||||||
|
remove_rows_btn
|
||||||
|
return (remove_rows_btn,)
|
||||||
|
|
||||||
|
|
||||||
|
@app.cell(hide_code=True)
|
||||||
|
def _(KEYWORD_FREQ_FPATH, frequency_df, remove_rows_btn, table_selection):
|
||||||
|
if remove_rows_btn is not None and remove_rows_btn.value:
|
||||||
|
# get selected rows
|
||||||
|
selected_rows = table_selection.value
|
||||||
|
if len(selected_rows) >0 :
|
||||||
|
rows_to_drop = table_selection.value.index.tolist()
|
||||||
|
|
||||||
|
frequency_df.drop(index=rows_to_drop, inplace=True, axis=0)
|
||||||
|
|
||||||
|
# Save updated frequencies back to xlsx
|
||||||
|
frequency_df.to_excel(
|
||||||
|
KEYWORD_FREQ_FPATH,
|
||||||
|
index=False
|
||||||
|
)
|
||||||
|
|
||||||
|
print(f"Updated keyword frequencies saved to: `{KEYWORD_FREQ_FPATH}`")
|
||||||
|
|
||||||
|
print("GO TO STEP 4b) and reload data to continue refining the dataset.")
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@app.cell(hide_code=True)
|
||||||
def _():
|
def _():
|
||||||
IGNORE_WORDS = {
|
IGNORE_WORDS = {
|
||||||
'chase as a brand': [
|
'chase as a brand': [
|
||||||
@@ -423,11 +451,12 @@ def _(
|
|||||||
IGNORE_WORDS,
|
IGNORE_WORDS,
|
||||||
Image,
|
Image,
|
||||||
ImageDraw,
|
ImageDraw,
|
||||||
|
MIN_FREQ,
|
||||||
WordCloud,
|
WordCloud,
|
||||||
blue_color_func,
|
blue_color_func,
|
||||||
buffer,
|
buffer,
|
||||||
canvas_size,
|
canvas_size,
|
||||||
keyword_freq_filtered,
|
frequency_df,
|
||||||
logo_switch,
|
logo_switch,
|
||||||
mo,
|
mo,
|
||||||
np,
|
np,
|
||||||
@@ -438,6 +467,12 @@ def _(
|
|||||||
if run_wordcloud_btn.value:
|
if run_wordcloud_btn.value:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
freq_df_filtered = frequency_df.loc[frequency_df['frequency'] >= MIN_FREQ].copy()
|
||||||
|
|
||||||
|
# freq_df_filtered.reset_index(drop=True, inplace=True)
|
||||||
|
|
||||||
|
keyword_freq_filtered = freq_df_filtered.set_index('keyword')['frequency'].to_dict()
|
||||||
|
|
||||||
# remove specific keywords depending on selected tag
|
# remove specific keywords depending on selected tag
|
||||||
if IGNORE_WORDS.get(tag_select.value.lower()):
|
if IGNORE_WORDS.get(tag_select.value.lower()):
|
||||||
for word in IGNORE_WORDS[tag_select.value.lower()]:
|
for word in IGNORE_WORDS[tag_select.value.lower()]:
|
||||||
|
|||||||
Reference in New Issue
Block a user