English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exemplos de operações de texto do Pandas
Neste capítulo, usaremos séries básicas / O Index discute operações de string. Nos capítulos subsequentes, aprenderemos como aplicar essas funções de string no DataFrame.
O Pandas oferece um conjunto de funções de string que permitem operações fáceis em dados de string. O mais importante é que essas funções ignoram (ou excluem) valores ausentes/ Valores NaN.
Praticamente todos esses métodos podem ser usados nas funções de string do Python (veja: https://docs.python.org/3/library/stdtypes.html#string-docs.python.orgbiblioteca
stdtypes.html#string
methods | ) Portanto, converter o objeto Series para String e depois executar a operação. |
lower() | Método/Vamos ver como cada operação é executada. |
upper() | Método/Descrição |
len() | Converter a string na "índice" para minúsculas. |
strip() | Converter a string na "índice" para maiúsculas./Calcular a comprimento da string. |
Remover espaços em branco (inclusive quebras de linha) de cada string na "índice". | split(' ') |
Dividir cada string com o padrão fornecido./cat(sep=' ') | td>/Conectar a série com o delimitador fornecido |
get_dummies() | Elementos de índice. |
Retornar um DataFrame com valor de código único. | contains(pattern) |
replace(a,b) | Se a substring estiver presente no elemento, retornar True para cada elemento, caso contrário retornar False. |
repeat(value) | Substituir o valor a por b. |
count(pattern) | Repetir cada elemento a uma quantidade específica de vezes. |
startswith(pattern) | Se o elemento na "índice" começa com o padrão, retornar true./Retornar a contagem de ocorrências do padrão em cada elemento. |
endswith(pattern) | Se o elemento na "índice" começa com o padrão, retornar true./Se o elemento na "índice" termina com o padrão, retornar true. |
find(pattern) | Retornar a primeira posição onde o padrão aparece. |
findall(pattern) | Retornar a lista de todos os padrões que aparecem. |
swapcase | Inversão de maiúsculas e minúsculas |
islower()< | Verificar "série/Verificar se todos os caracteres de cada string na "índice" estão em minúsculas. Retornar valor booleano |
isupper() | Verificar "série/Verificar se todos os caracteres de cada string na "índice" estão em maiúsculas. Retornar valor booleano. |
isnumeric() | Verificar "série/Verificar se todos os caracteres de cada string na "índice" são números. Retornar valor booleano. |
Vamos criar um Series, para ver como todas essas funções funcionam.
import pandas as pd import numpy as np s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith']) print s
Resultados da Execução:
0 Tom 1 William Rick 2 John 3 Alber@t 4 NaN 5 1234 6 Steve Smith dtype: object
import pandas as pd import numpy as np s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith']) print s.str.lower()
Resultados da Execução:
0 tom 1 william rick 2 john 3 alber@t 4 NaN 5 1234 6 steve smith dtype: object
import pandas as pd import numpy as np s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith']) print s.str.upper()
Resultados da Execução:
0 TOM 1 WILLIAM RICK 2 JOHN 3 ALBER@T 4 NaN 5 1234 6 STEVE SMITH dtype: object
import pandas as pd import numpy as np s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith']) print s.str.len()
Resultados da Execução:
0 3.0 1 12.0 2 4.0 3 7.0 4 NaN 5 4.0 6 10.0 dtype: float64
import pandas as pd import numpy as np s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s print ("After Stripping:") print s.str.strip()
Resultados da Execução:
0 Tom 1 William Rick 2 John 3 Alber@t dtype: object After Stripping: 0 Tom 1 William Rick 2 John 3 Alber@t dtype: object
import pandas as pd import numpy as np s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s print ("Split Pattern:") print s.str.split(' ')
Resultados da Execução:
0 Tom 1 William Rick 2 John 3 Alber@t dtype: object Split Pattern: 0 [Tom, , , , , , , , , , ] 1 [, , , , , William, Rick] 2 [John] 3 [Alber@t] dtype: object
import pandas as pd import numpy as np s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s.str.cat(sep='_')
Resultados da Execução:
Tom _ William Rick_John_Alber@t
import pandas as pd import numpy as np s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s.str.get_dummies()
Resultados da Execução:
William Rick Alber@t John Tom 0 0 0 0 0 0 0 0 1 1 1 0 0 0 2 0 0 1 0 3 0 1 0 0
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s.str.contains(' ')
Resultados da Execução:
0 True 1 True 2 False 3 False dtype: bool
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s print ("After replacing @ with $:") print s.str.replace('@',') )
Resultados da Execução:
0 Tom 1 William Rick 2 John 3 Alber@t dtype: object After replacing @ with $: 0 Tom 1 William Rick 2 John 3 Alber$t dtype: object
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s.str.repeat(2)
Resultados da Execução:
0 Tom Tom 1 William Rick William Rick 2 JohnJohn 3 Alber@tAlber@t dtype: object
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print ("Number of 'm' in each string:") print s.str.count('m')
Resultados da Execução:
Number of 'm' in each string: 0 1 1 1 2 0 3 0
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print ("Strings that start with 'T':") print s.str. startswith ('T')
Resultados da Execução:
0 True 1 False 2 False 3 False dtype: bool
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print ("Strings that end with 't':") print s.str.endswith('t')
Resultados da Execução:
Strings que terminam com 't': 0 False 1 False 2 False 3 True dtype: bool
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s.str.find('e')
Resultados da Execução:
0 -1 1 -1 2 -1 3 3 dtype: int64
“ -1”indica que nenhum elemento foi correspondido.
import pandas as pd s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t']) print s.str.findall('e')
Resultados da Execução:
0 [] 1 [] 2 [] 3 [e] dtype: object
Uma lista vazia ([]) indica que nenhum elemento foi correspondido
import pandas as pd s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t']) print s.str.swapcase()
Resultados da Execução:
0 tOM 1 wILLIAM rICK 2 jOHN 3 aLBER@T dtype: object
import pandas as pd s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t']) print s.str.islower()
Resultados da Execução:
0 False 1 False 2 False 3 False dtype: bool
import pandas as pd s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t']) print s.str.isupper()
Resultados da Execução:
0 False 1 False 2 False 3 False dtype: bool
import pandas as pd s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t']) print s.str.isnumeric()
Resultados da Execução:
0 False 1 False 2 False 3 False dtype: bool