Je cherche à utiliser la fonction replace
de manière efficace dans python3. Le code que j'ai a atteint la tâche, mais il est beaucoup trop lent, car je travaille avec un grand ensemble de données. Ainsi, ma priorité est l'efficacité plutôt que l'élégance à chaque fois qu'il y a un compromis. Voici un jouet de ce que je voudrais faire:En utilisant remplacer efficacement dans les pandas
import pandas as pd
df = pd.DataFrame([[1,2],[3,4],[5,6]], columns = ['1st', '2nd'])
1st 2nd
0 1 2
1 3 4
2 5 6
idxDict= dict()
idxDict[1] = 'a'
idxDict[3] = 'b'
idxDict[5] = 'c'
for k,v in idxDict.items():
df ['1st'] = df ['1st'].replace(k, v)
Ce qui donne
1st 2nd
0 a 2
1 b 4
2 c 6
que je veux, mais il prend beaucoup trop de temps. Quel serait le moyen le plus rapide? Editer: c'est une question plus précise et mieux ciblée que celle de this, pour laquelle la solution est similaire.
Reproduction possible de [Pandas remplacer/dictionnaire lenteur] (http://stackoverflow.com/questions/41985566/pandas-replace-dictionary-slowness) – root