Je ne comprends pas vraiment s'il s'agit d'une erreur ou simplement de mon problème local, j'ai encore quelques problèmes avec l'utilisation de barres de progression tqdm avec progress_apply dans Jupyter.
Premier essai:
from tqdm import tqdm
tqdm_notebook.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Sortie (sans aucune barre) :
AttributeError: 'function' object has no attribute 'pandas'
Deuxième essai:
from tqdm import tqdm
tqdm_notebook().pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Sortie: Deux barres (besoin d'une). La première barre est vide (0it [00:00,? It/s]), la seconde est OK.
Des idées comment changer progress_apply description et barre d'affichage sans barre d'initialisation vide? :)
PS Documentation ( https://github.com/tqdm/tqdm ) dit que je peux simplement utiliser tqdm_notebook , mais ça ne marche pas pour moi :)
# Register `pandas.progress_apply` and `pandas.Series.map_apply` with `tqdm`
# (can use `tqdm_gui`, `tqdm_notebook`, optional kwargs, etc.)
tqdm.pandas(desc="my bar!")
Réponse du développeur tqdm:
la prise en charge des ordinateurs portables est encore en phase bêta (tardive). L'API pourrait changer légèrement lorsque nous publierons tqdm v5 mais pour l'instant vous avez probablement besoin
from tqdm._tqdm_notebook import tqdm_notebook
tqdm_notebook.pandas(...
C'est ce que j'exécute dans mes blocs-notes jupyter, puis progress_apply fonctionne:
from tqdm import tqdm, tqdm_notebook
tqdm_notebook().pandas()
J'avais reçu une erreur sans le () après tqdm_notebook
En supposant que votre question porte sur la façon d'utiliser la barre d'état, par rapport aux ascètes de la barre d'état sur le bloc-notes Jupyter, votre code devrait être
tqdm.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Ce qui suit fonctionne pour moi:
from tqdm import tqdm
tqdm.pandas()
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Maintenant, vous pouvez simplement faire:
from tqdm.notebook import tqdm
tqdm.pandas()
df.progress_apply(...)
Ma version de tqdm est 4.39.0