segunda-feira, 19 de abril de 2021

Python - Pandas Series.str.lower(), upper() e title()

Python possui alguns métodos embutidos para converter uma string em caixa baixa, caixa alta ou camelo. Mas esses métodos não funcionam na lista e em outros objetos de várias strings. Pandas é uma biblioteca para análise de dados que fornece métodos separados para converter todos os valores em uma série para os respectivos casos de texto. Uma vez que, lower, upper e title também são palavras-chave do Python, .str deve ser prefixado antes de chamar essas funções em uma série do Pandas.

Sintaxe:

  • Series.str.lower()
  • Series.str.upper()
  • Series.str.title()

Parametros: Não recebe nenhum parametro.

Tipo de retorno: Series com novos valores.

Para baixar o arquivo csv que vamos usar, clique aqui

Nos exemplos a seguir, o dataframe usado contém dados de alguns funcionários. O DataFrame antes de qualquer operação é mostrado abaixo.

    First Name  Gender  Start Date Last Login Time  Salary  Bonus % Senior Management                  Team
0      Douglas    Male    8/6/1993        12:42 PM   97308    6.945              True             Marketing
1       Thomas    Male   3/31/1996         6:53 AM   61933    4.170              True                   NaN
2        Maria  Female   4/23/1993        11:17 AM  130590   11.858             False               Finance
3        Jerry    Male    3/4/2005         1:00 PM  138705    9.340              True               Finance
4        Larry    Male   1/24/1998         4:47 PM  101004    1.389              True       Client Services
..         ...     ...         ...             ...     ...      ...               ...                   ...
995      Henry     NaN  11/23/2014         6:09 AM  132483   16.655             False          Distribution
996    Phillip    Male   1/31/1984         6:30 AM   42392   19.675             False               Finance
997    Russell    Male   5/20/2013        12:39 PM   96914    1.421             False               Product
998      Larry    Male   4/20/2013         4:45 PM   60500   11.985             False  Business Development
999     Albert    Male   5/15/2012         6:24 PM  129949   10.169              True                 Sales

[1000 rows x 8 columns]

Exemplo #1: Usando o método .lower() em uma série

Neste exemplo, o método .lower() está sendo chamada pela coluna Name e, portanto, todos os valores na coluna Name serão convertidos em minúsculas.

# importando o pacote pandas
import pandas as pd

# Criando um dataframe a partir
# de um arquivo csv
data = pd.read_csv("employees.csv")

# Convertendo os valores da coluna 'First Name' para caixa baixa
data["First Name"] = data["First Name"].str.lower()

print(data)

Conforme mostrado na saída do dataframe abaixo, todos os valores na coluna Name foram convertidos em minúsculas.

Saída:

    First Name  Gender  Start Date Last Login Time  Salary  Bonus % Senior Management                  Team
0      douglas    Male    8/6/1993        12:42 PM   97308    6.945              True             Marketing
1       thomas    Male   3/31/1996         6:53 AM   61933    4.170              True                   NaN
2        maria  Female   4/23/1993        11:17 AM  130590   11.858             False               Finance
3        jerry    Male    3/4/2005         1:00 PM  138705    9.340              True               Finance
4        larry    Male   1/24/1998         4:47 PM  101004    1.389              True       Client Services
..         ...     ...         ...             ...     ...      ...               ...                   ...
995      henry     NaN  11/23/2014         6:09 AM  132483   16.655             False          Distribution
996    phillip    Male   1/31/1984         6:30 AM   42392   19.675             False               Finance
997    russell    Male   5/20/2013        12:39 PM   96914    1.421             False               Product
998      larry    Male   4/20/2013         4:45 PM   60500   11.985             False  Business Development
999     albert    Male   5/15/2012         6:24 PM  129949   10.169              True                 Sales

[1000 rows x 8 columns]

Exemplo #2: Usando .upper() em uma série

Neste exemplo, o método .upper() está sendo chamada pela coluna Equipe e, portanto, todos os valores na coluna Equipe serão convertidos em maiúsculas.

# importando o pacote pandas
import pandas as pd

# Criando um dataframe a partir
# de um arquivo csv
data = pd.read_csv("employees.csv")

# Convertendo os valores da coluna 'team' para caixa alta
data["Team"] = data["Team"].str.upper()

print(data)

Conforme mostrado na saída do DataFrame abaixo, todos os valores na coluna Team foram convertidos em maiúsculas.

Saída:

    First Name  Gender  Start Date Last Login Time  Salary  Bonus % Senior Management                  Team
0      Douglas    Male    8/6/1993        12:42 PM   97308    6.945              True             MARKETING
1       Thomas    Male   3/31/1996         6:53 AM   61933    4.170              True                   NaN
2        Maria  Female   4/23/1993        11:17 AM  130590   11.858             False               FINANCE
3        Jerry    Male    3/4/2005         1:00 PM  138705    9.340              True               FINANCE
4        Larry    Male   1/24/1998         4:47 PM  101004    1.389              True       CLIENT SERVICES
..         ...     ...         ...             ...     ...      ...               ...                   ...
995      Henry     NaN  11/23/2014         6:09 AM  132483   16.655             False          DISTRIBUTION
996    Phillip    Male   1/31/1984         6:30 AM   42392   19.675             False               FINANCE
997    Russell    Male   5/20/2013        12:39 PM   96914    1.421             False               PRODUCT
998      Larry    Male   4/20/2013         4:45 PM   60500   11.985             False  BUSINESS DEVELOPMENT
999     Albert    Male   5/15/2012         6:24 PM  129949   10.169              True                 SALES

[1000 rows x 8 columns]

Exemplo #3: Usando .title() em uma série

Neste exemplo, o método .title() está sendo chamada pela coluna Team e, portanto, todos os valores dentro da coluna serão convertidos para camelcase. Como os valores na coluna Team já estavam em maiúsculas, ela foi convertida para maiúsculas antes e depois novamente em maiúsculas para verificar a funcionalidade do método .title().

# importando o pacote pandas
import pandas as pd

# Criando um dataframe a partir
# de um arquivo csv
data = pd.read_csv("employees.csv")

data["Team"] = data["Team"].str.upper().str.title()

print(data)

Conforme mostrado na saída do DataFrame abaixo, todos os valores na coluna team foram convertidos para o Camel case.

Saída:

    First Name  Gender  Start Date Last Login Time  Salary  Bonus % Senior Management                  Team
0      Douglas    Male    8/6/1993        12:42 PM   97308    6.945              True             Marketing
1       Thomas    Male   3/31/1996         6:53 AM   61933    4.170              True                   NaN
2        Maria  Female   4/23/1993        11:17 AM  130590   11.858             False               Finance
3        Jerry    Male    3/4/2005         1:00 PM  138705    9.340              True               Finance
4        Larry    Male   1/24/1998         4:47 PM  101004    1.389              True       Client Services
..         ...     ...         ...             ...     ...      ...               ...                   ...
995      Henry     NaN  11/23/2014         6:09 AM  132483   16.655             False          Distribution
996    Phillip    Male   1/31/1984         6:30 AM   42392   19.675             False               Finance
997    Russell    Male   5/20/2013        12:39 PM   96914    1.421             False               Product
998      Larry    Male   4/20/2013         4:45 PM   60500   11.985             False  Business Development
999     Albert    Male   5/15/2012         6:24 PM  129949   10.169              True                 Sales

[1000 rows x 8 columns]

Artigo escrito por Kartikaybhutani e traduzido por Acervolima de Python | Pandas Series.str.lower(), upper() and title().

Licença

0 comentários:

Postar um comentário