Я ищу эффективную функцию replace
в python3. Код, который у меня есть, - это выполнение задачи, но слишком медленный, поскольку я работаю с большим набором данных. Таким образом, мой приоритет - эффективность над элегантностью всякий раз, когда есть компромисс. Вот это игрушка, что я хотел бы сделать:Эффективное использование в 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)
Что дает
1st 2nd
0 a 2
1 b 4
2 c 6
, как я хочу, но это занимает слишком много времени. Какой был бы самый быстрый способ?
Редактировать: это более целенаправленный и чистый вопрос, чем this тот, для которого решение похоже.
Возможный дубликат [Pandas replace/dictionary slowown] (http://stackoverflow.com/questions/41985566/pandas-replace-dictionary-slowness) – root