Допустим, я беру образец имен, таких как эти, разделенных отдельными полями:
indx First Name Middle Name Last Name
0 CHARITIXAN K.R., NICHOLS
1 None Johnny-Boy CHAVEZ
2 ISAAC None ESPARZA
3 MICHAEL nan
4 Andrew Pfaff
Давайте также предположим, что эти данные отформатированы как pandas фрейм данных (df) и достаточно очищены (через .replace
метод), где все оставшиеся значения являются только занятыми строками или пустыми строками.
indx First Name Middle Name Last Name
0 CHARITIXAN K.R., NICHOLS
1 Johnny-Boy CHAVEZ
2 ISAAC ESPARZA
3 MICHAEL
4 Andrew Pfaff
Я хочу правильно объединить все части данного имени ТОЛЬКО с одним пробелом между каждым именем сегмент. Основываясь на моих исследованиях и реализации, лучшее решение, которое я нашел, было это - то, где использовалось re
. Это оптимальный путь или есть что-то лучшее для этого конкретного случая?
Мой последний подход был таков:
df['full_name']=df[['First Name', 'Middle Name', 'Last Name']].apply(lambda x: re.sub(' +', ' ', ' '.join(x)), axis=1)