Как сегментировать неструктурированные текстовые данные в python (pandas) для анализа? - PullRequest
2 голосов
/ 15 января 2020

Входящий фрейм данных состоит из компаний и телефонных номеров.

Проблема в том, что столбец телефонных номеров содержит неструктурированный текст.

Строки ниже представляют примеры значений строки «Представление»

(7777) 11-11-11
11-11-11    
87777777777
77776 11111 
11-1-11, 11-1-11    
8 777 777 77 77 (John)  
8 777 777 77 77, 11-11-11
87777777777 87777777777 
8777 7777777 87777777777
11-11-11/111111 
8777 7777777 87777777777

et c ..

Я понимаю, что универсального регулярного выражения для анализа этого текста не существует

Можно ли сегментировать эти данные наиболее разбираемые группы?

Я пытался сгруппировать телефоны по длине строки значений

df['CharCount'] = df['Representation'].str.len()  # Representation - is a Phone numbers column
plot_df_CharRepr = df[['CharCount','Representation']].groupby(["CharCount"]).count().sort_values(by='Representation',ascending=False)

И я получил 96 групп из 6300 строк

первая десятка групп выглядит так

CharCount Representation    
15        2197
8         1115
11        830
25        252
16        207
10        189
31        131
32        127
13        105
...