данные (например,
"Иванов Иван",
"Иванов Сергей Васильевич",
"Василий Иванов",
"Иванов Михаил,Алексеевич",
"Сергеев Сергей Иванович",
"Сергеев Александр"), нужно схлопуть всех Ивановых и Сергеевых (то есть в формате groupby(df.col.str.contains('Иванов', case=False)))
Вопрос в том, что нужно выбрать отдельно тех, и отдельно других, и split()[0] по колонке делать нельзя, так как там может быть имя, а не фамилия
Однофамильцев при этом неизвестное заранее количество
У меня в голове возникают безумные конструкции через lamda, однако, возможно, существует метод проще?
Сплитнуть, получить 2 или 3 элемента. Взять список русских имен из какой-нибудь открытой базы. В случае 2 элементов проверить каждый - кто не имя, тот фамилия. В случае 3 элементов проверить сначала первый - если там имя, значит фамилия на третьем. Если имя на втором - значит, фамилия на первом
Обсуждают сегодня