2015-04-06 3 views
0

У меня есть файл, в котором я готов преобразовать все числа в столбцах моей dataframe, например (1,2 и т. Д.), Которые будут преобразованы в (один, два и т. Д.). Вот как мой dataframe выглядит следующим образом:Pandas: Как преобразовать числа, написанные в цифровом формате, для записи в текстовом формате?

name 
a1printanddisplay.com 
a1programador.com.br 
a1web.com.br 
a1weblink.com 
a2 hosting 
a2 hosting inc. iceland 
a2 system international 
a2 group llc 

Кто-нибудь знает быстрый способ сделать это?

+0

является диапазон номеров ограничено и известных авансом или нет? Вы можете создать список всех известных номеров, а их замены вызвать 'df.name.str.replace ('1', 'one')' и т. Д. – EdChum

+0

@EdChum они неизвестны, но я имел в виду больше любого другого пути, чем обычно заменить. Есть ли? – UserYmY

+0

Нет, не в зависимости от того, как ваши данные скомпилированы, может быть проще выполнить только 10 вызовов, которые будут выполняться быстро, а не создавать некоторую функцию, которая вызывается для каждого значения. – EdChum

ответ

1

Есть два подхода, которые вы могли бы попробовать. Первый подход включает в себя преобразование каждой цифры в отдельности. Например, 381 станет «тремя восемью».

Другой подход заключается в преобразовании цифр с их контекстом место-значение. Например, 381 стала бы «триста восемьдесят один»

Для первого подхода см: Is there a way to convert number words to Integers?

Для второго подхода, попробуйте num2words: https://pypi.python.org/pypi/num2words

Смежные вопросы