O método Series.str.cat()
é usado para concatenar strings para a série de strings passada pelo chamador. Valores distintos de uma série diferente podem ser transmitidos, mas o comprimento de ambas as séries deve ser o mesmo. .str
deve ser prefixado para diferenciá-lo do método padrão do Python.
Sintaxe: Series.str.cat(others=None, sep=None, na_rep=None)
Parâmetros:
- others: Série, índice, dataframe ou lista de strings para concatenar
- sep: Separador a ser colocado entre as duas strings
- bna_rep: None ou valor de string para substituir no lugar de valores nulos
Tipo de retorno: Série com valores de string concatenados
Para baixar o arquivo csv utilizado, clique aqui.
Nos exemplos a seguir, o DataFrame usado contém dados sobre alguns jogadores da NBA. A imagem do DataFrame antes de qualquer operação é anexada abaixo.
Exemplo #1: Coluna de concatenação com separador
Neste exemplo, a coluna Team
é concatenada no final da coluna Name
com o separador ",". A coluna Name
é substituída pela nova série e o DataFrame é exibido.
# Importando o pacote pandas import pandas as pd # Criando um DataFrame a partir # de um arquivo csv data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv") # Fazendo uma copia da coluna Team new = data["Team"].copy() # concatenando a coluna Team com a coluna Name # e sobrescrevendo a coluna Name data["Name"] = data["Name"].str.cat(new, sep =", ") print(data)
Conforme mostradon abaixo, cada string na coluna Team
com o mesmo índice da string na coluna Name
foi concatenada com o separador ",".
Saída:
Name Team Number Position Age Height Weight College Salary 0 Avery Bradley, Boston Celtics Boston Celtics 0.0 PG 25.0 6-2 180.0 Texas 7730337.0 1 Jae Crowder, Boston Celtics Boston Celtics 99.0 SF 25.0 6-6 235.0 Marquette 6796117.0 2 John Holland, Boston Celtics Boston Celtics 30.0 SG 27.0 6-5 205.0 Boston University NaN 3 R.J. Hunter, Boston Celtics Boston Celtics 28.0 SG 22.0 6-5 185.0 Georgia State 1148640.0 4 Jonas Jerebko, Boston Celtics Boston Celtics 8.0 PF 29.0 6-10 231.0 NaN 5000000.0 .. ... ... ... ... ... ... ... ... ... 453 Shelvin Mack, Utah Jazz Utah Jazz 8.0 PG 26.0 6-3 203.0 Butler 2433333.0 454 Raul Neto, Utah Jazz Utah Jazz 25.0 PG 24.0 6-1 179.0 NaN 900000.0 455 Tibor Pleiss, Utah Jazz Utah Jazz 21.0 C 26.0 7-3 256.0 NaN 2900000.0 456 Jeff Withey, Utah Jazz Utah Jazz 24.0 C 26.0 7-0 231.0 Kansas 947276.0 457 NaN NaN NaN NaN NaN NaN NaN NaN NaN [458 rows x 9 columns]
Exemplo #2: Tratamento de valores nulos
A parte mais importante na análise de dados é lidar com valores nulos. str.cat()
fornece uma maneira de lidar com valores nulos por meio do parâmetro na_rep
. O que quer que seja passado para este parâmetro será substituído a cada ocorrência de valor nulo.
Neste exemplo, a coluna College
é concatenada com a coluna Team
. "No college
" é passado para o parâmetro na_rep
para substituir valores null por esta string.
# Importando o pacote pandas import pandas as pd # Criando um DataFrame a partir # de um arquivo csv data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv") # Fazendo uma copia da coluna Team new = data["Team"].copy() # string para substituir os valores nulos na_string = "No College" # concatenando a coluna Team com a coluna Name # e sobrescrevendo a coluna College data["College"] = data["College"].str.cat(new, sep=", ", na_rep=na_string) print(data)
Como pode ser visto no DataFrame, nas posições de índice 4 e 5, havia um valor NULL
que foi substituído por “No College” e a string da coluna Team
foi concatenada com sucesso.
Saída:
Name Team Number Position Age Height Weight College Salary 0 Avery Bradley Boston Celtics 0.0 PG 25.0 6-2 180.0 Texas, Boston Celtics 7730337.0 1 Jae Crowder Boston Celtics 99.0 SF 25.0 6-6 235.0 Marquette, Boston Celtics 6796117.0 2 John Holland Boston Celtics 30.0 SG 27.0 6-5 205.0 Boston University, Boston Celtics NaN 3 R.J. Hunter Boston Celtics 28.0 SG 22.0 6-5 185.0 Georgia State, Boston Celtics 1148640.0 4 Jonas Jerebko Boston Celtics 8.0 PF 29.0 6-10 231.0 No College, Boston Celtics 5000000.0 .. ... ... ... ... ... ... ... ... ... 453 Shelvin Mack Utah Jazz 8.0 PG 26.0 6-3 203.0 Butler, Utah Jazz 2433333.0 454 Raul Neto Utah Jazz 25.0 PG 24.0 6-1 179.0 No College, Utah Jazz 900000.0 455 Tibor Pleiss Utah Jazz 21.0 C 26.0 7-3 256.0 No College, Utah Jazz 2900000.0 456 Jeff Withey Utah Jazz 24.0 C 26.0 7-0 231.0 Kansas, Utah Jazz 947276.0 457 NaN NaN NaN NaN NaN NaN NaN No College, No College NaN [458 rows x 9 columns]
Artigo escrito por Kartikaybhutani e traduzido por Acervolima de Python | Pandas Series.str.cat() to concatenate string.
0 comentários:
Postar um comentário