pandas.DataFrame.replace
Вы можете передать словарь этому методу, чтобы указать, с каким столбцом работать
df.replace({'gender': {'mostly_': ''}}, regex=True)
pandas.Series.str.replace
Преимуществочто вам не нужно указывать regex=True
df.gender.str.replace('mostly_', '')
pandas.Series.str
Проголосовал "Mostly_likely" на разрыв.Но если вы знаете, что все записи начинаются с "mostly_"
, то почему бы не
df.gender.str[7:]
pandas.Series.map
Мне не нравятся другие опции, потому что все они связаны со строковыми манипуляциями,Вы можете быть более точным с отображением словаря и вести постоянный поиск
df.gender.map({'mostly_male': 'male', 'mostly_female': 'female'})
Время
Настройка
df = pd.DataFrame(dict(gender=[f"mostly_{g}" for g in ['male', 'female'] * 10000]))
Тест
%timeit df.replace({'gender': {'mostly_': ''}}, regex=True)
%timeit df.gender.str.replace('mostly_', '')
%timeit df.gender.str[7:]
%timeit df.gender.map({'mostly_male': 'male', 'mostly_female': 'female'})
100 loops, best of 3: 12.8 ms per loop
100 loops, best of 3: 16.1 ms per loop
100 loops, best of 3: 5.42 ms per loop
1000 loops, best of 3: 1.8 ms per loop