English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exemplo de operação IO do Pandas
As duas principais funções para ler arquivos de texto são read_csv() e read_table(). Ambos usam o mesmo código de parsing para converter dados de tabela inteligentemente em objetos DataFrame:
pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None
pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None
Salve esses dados como temp.csv e operate neles.
N.º,Nome,Idade,Cidade,Salário 1,Tom,28,Toronto,20000 2,Lee,32,HongKong,3000 3,Steven,43,Bay Area,8300 4,Ram,38,Hyderabad,3900
read.csv lê dados de um arquivo csv e cria um objeto DataFrame.
import pandas as pd df = pd.read_csv("temp.csv") print df
Os resultados da execução são os seguintes:
N.º Nome Idade Cidade Salário 0 1 Tom 28 Toronto 20000 1 2 Lee 32 Hong Kong 3000 2 3 Steven 43 Bay Area 8300 3 4 Ram 38 Hyderabad 3900
Isso especificará uma coluna no arquivo csv para usar index_col para definir o índice personalizado.
import pandas as pd df = pd.read_csv("temp.csv", index_col=['N.º']) print df
Os resultados da execução são os seguintes:
N.º Nome Idade Cidade Salário 1 Tom 28 Toronto 20000 2 Lee 32 Hong Kong 3000 3 Steven 43 Bay Area 8300 4 Ram 38 Hyderabad 3900
O dtype da coluna pode ser passado como dicionário.
import pandas as pd df = pd.read_csv("temp.csv", dtype={'Salary': np.float}64) print(df.dtypes)
Os resultados da execução são os seguintes:
N.º int64 Nome objeto Idade int64 Cidade objeto Salário float64 dtype: objeto
Por padrão, o dtype da coluna Salário é int, mas ele é exibido como float, porque explicitamente convertimos o tipo. Portanto, os dados parecem ser float.
Portanto, os dados parecem ser float −
N.º Nome Idade Cidade Salário 0 1 Tom 28 Toronto 20000.0 1 2 Lee 32 Hong Kong 3000.0 2 3 Steven 43 Bay Area 8300.0 3 4 Ram 38 Hyderabad 3900.0
Use o parâmetro names para especificar o nome do cabeçalho.
import pandas as pd df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e']) print df
Os resultados da execução são os seguintes:
a b c d e 0 S.No Name Age City Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 Hong Kong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
Observe que os nomes dos cabeçalhos foram adicionados nomes personalizados, mas os cabeçalhos do arquivo ainda não foram removidos. Agora, usamos o parâmetro header para removê-lo.
Se o título não estiver na primeira linha, passe o número da linha para o título. Isso pula as linhas anteriores.
import pandas as pd df=pd.read_csv("temp.csv", names=['a','b','c','d','e'],header=0) print df
Os resultados da execução são os seguintes:
a b c d e 0 S.No Name Age City Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 Hong Kong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
skiprows pula o número de linhas especificado.
import pandas as pd df=pd.read_csv("temp.csv", skiprows=2) print df
Os resultados da execução são os seguintes:
2 Lee 32 Hong Kong 3000 0 3 Steven 43 Bay Area 8300 1 4 Ram 38 Hyderabad 3900