Stack Overflow em Português Asked by Matheus Bento de Souza on November 30, 2021
Minha dúvida é bem simples. Dado uma pd.Series como descrita abaixo, como eu removo caracteres "ANOS" e "MESES" dela? Eu olhei a documentação do Pandas mas infelizmente não consegui descobrir um meio.
Eu fiz a seguinte variável para retornar a pd.Series:
In:
idade_serie = dataframe['Idade'].value_counts()
Out:
80 ANOS 91
70 ANOS 85
73 ANOS 82
75 ANOS 81
76 ANOS 79
..
103 ANOS 1
17 ANOS 1
4 MESES 1
26 ANOS 1
19 AN0S 1
Name: Idade, Length: 109, dtype: int64
Você pode fazer isso usando a função .split()
por espaço e selecionando a primeira posição do array, após isso usar a função value_counts()
.
data = {'Idade': ['80 ANOS', '80 ANOS', '80 ANOS', '80 ANOS', '80 ANOS',
'80 ANOS', '80 ANOS', '70 ANOS', '70 ANOS', '70 ANOS',
'73 ANOS ', '73 ANOS ', '73 ANOS ', '73 ANOS ']}
df = pd.DataFrame(data)
df['Idade'].str.strip().str.split(' ').str[0].value_counts()
#saida:
80 7
73 4
70 3
A função split quebra a coluna Idade pelo espaço, transformando os dados em arrays:
df['Idade'].str.strip().str.split(' ')
#saida
0 [80, ANOS]
1 [80, ANOS]
2 [80, ANOS]
3 [80, ANOS]
4 [80, ANOS]
5 [80, ANOS]
6 [80, ANOS]
7 [70, ANOS]
8 [70, ANOS]
9 [70, ANOS]
10 [73, ANOS]
11 [73, ANOS]
12 [73, ANOS]
13 [73, ANOS]
e o ultimo .str[0]
serve para selecionar a primeira posição de cada array:
df['Idade'].str.strip().str.split(' ').str[0]
#saida
0 80
1 80
2 80
3 80
4 80
5 80
6 80
7 70
8 70
9 70
10 73
11 73
12 73
13 73
Answered by Terry on November 30, 2021
tudo bom? Uma maneira é usar o método replace, porem para funcionar deve-se converter seu Dataframe para string.
Fiz um teste usando o seu caso, e ficou mais ou menos assim:
import pandas as pd
data = {'Idade': ['80 ANOS', '80 ANOS', '80 ANOS', '80 ANOS', '80 ANOS',
'80 ANOS', '80 ANOS', '70 ANOS', '70 ANOS', '70 ANOS',
'73 ANOS ', '73 ANOS ', '73 ANOS ', '73 ANOS ']}
df = pd.DataFrame(data)
idade_serie = df['Idade'].value_counts()
print(df)
print('-'*40)
print(str(idade_serie).replace("ANOS", ""))
Caso tenha outra forma, compartilha com a gente. abraço!
Answered by Lbeaver on November 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP