Как преобразовать текст из Pandas dataframe в нижний регистр на Питоне

759 просмотра
0
0 Комментариев

У меня есть данные которые я загрузил с помощью пакета Pandas в python). Данные в содержат различные столбцы и один из них это набор текстовых данных который представлен колонкой Description и выглядит следующим образом:
df[‘Description’]

  International Sales Manager London ****k  ****...
  An ideal opportunity for an individual that ha...
  Online Content and Brand Manager// Luxury Reta...
  A great local marketleader is seeking a perman...
  Registered Nurse / RGN  Nursing Home for Young...
  Sales and Marketing Assistant will provide adm...

Мне нужно изменить текст на нижний шрифт. Как мне это сделать?


Добавить комментарий

2 Answers

Python Опубликовано 09.12.2018
0

Можно использовать pandas.Series.str.lower():

df['Description'].str.lower()

Пример:

In [6]: df
Out[6]:
                                         Description
0  International Sales Manager London ****k  ****...
1  An ideal opportunity for an individual that ha...
2  Online Content and Brand Manager// Luxury Reta...
3  A great local marketleader is seeking a perman...
4  Registered Nurse / RGN  Nursing Home for Young...
5  Sales and Marketing Assistant will provide adm...
 
In [7]: df['Description'] = df.Description.str.lower()
 
In [8]: df
Out[8]:
                                         Description
0  international sales manager london ****k  ****...
1  an ideal opportunity for an individual that ha...
2  online content and brand manager// luxury reta...
3  a great local marketleader is seeking a perman...
4  registered nurse / rgn  nursing home for young...
5  sales and marketing assistant will provide adm...

PS предпологается, что колонки со строками в Unicode кодировке! Все потециальные проблемы связанные с кодировкой, с использованием первой альфа версии Pandas, в которой, скорее всего отсутствует метод .str.lower() и прочие подобные «проблемы» считаю не связанными с данным вопросом и освещать их в ответе считаю неправильным — иначе это будет никому ненужная мини-энциклопедия…

Добавить комментарий
0

Чтобы текст в маленькие буквы преобразовать, можно использовать str.lower() метод:

>>> import pandas as pd
>>> s = pd.Series([u'Abc', u'Абв'])
>>> s.str.lower()
0    abc
1    абв
dtype: object

Обратите внимание, что текст должен быть представлен в виде Unicode иначе для не-ASCII данных, представленных в виде байтовой строки (bytes), результат будет неверным:

>>> s = pd.Series(['Abc', 'Абв']) # Python 2
>>> s.str.lower()
0    abc
1    Абв
dtype: object

В общем случае, следует стараться использовать unicode тип для текста. Но это не всегда возможно, например, HDFStore таблицы не поддерживают Юникод на Питоне 2.

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up