0
I am manipulating a dataframe where a field has contents as for example:
123.456[7].
I need to get the start character sequence of this field without the substring [7]
, and then remove the .
and convert int
.
df = dataframe field = Public Paying
Commands:
df['Público Pagante'] = df['Público Pagante'].str.slice(start=0,stop=df['Público Pagante'].str.index("[7]"))
df['Público Pagante'] = df['Público Pagante'].str.replace('.','').astype(int)
It’s a mistake because Command 1 is retreating Nan.
Complete code of extraction:
# importando as bibliotecas
import pandas as pd
import requests
# URL de origem dos dados
url = 'https://pt.wikipedia.org/wiki/Lista_de_finais_da_Copa_do_Mundo_FIFA'
# resuisitar a pagina e guardar a resposta
resposta = requests.get(url)
# obter a resposta em formato html
table = pd.read_html(resposta.text)
# O dataframe será apenas a tabela 1
df = table[0]
# colocar os nomes das colunas com o resultado da primenra linha
df.columns = df.iloc[0]
# Apagar uma linha
df.drop(df.index[0], inplace=True)
# tratando o campo 'Público Pagante' e convertendo para int.
df['Público Pagante'] = df['Público Pagante'].str.slice(start=0,stop=df['Público Pagante'].str.index("[7]"))
df['Público Pagante'] = df['Público Pagante'].str.replace('.','').astype(int)
# mostrando os 5 primeiro registros do dataframe
df.head()