Este tutorial usa o conjunto de dados do Titanic, armazenado como CSV. Os dados consistem nas seguintes colunas de dados:
- PassengerId: Id de cada passageiro.
- Survived: Este recurso tem valores 0 e 1. 0 para não sobreviveu e 1 para sobreviveu.
- Pclass: Existem 3 classes: Classe 1, Classe 2 e Classe 3.
- Name: Nome do passageiro.
- Sex: gênero do passageiro.
- Age: Idade do passageiro.
- SibSp: Indicação de que o passageiro tem irmãos e cônjuge.
- Parch: se o passageiro está sozinho ou tem família.
- Ticket: Número do bilhete do passageiro.
- Fare: Indicando a tarifa.
- Cabin: A cabine do passageiro.
- Embarked: a categoria embarcada.
O arquivo csv pode ser baixado aqui.
-
Quero analisar os dados dos passageiros do Titanic, disponíveis como um arquivo CSV.
In [2]: titanic = pd.read_csv("data/titanic.csv")
O pandas fornece a função
read_csv()
que ler dados armazenados num arquivo csv e com os dados desse arquivo cria umDataFrame
pandas. O pandas suporta muitos formatos de arquivo ou fontes de dados diferentes fora da caixa (csv, excel, sql, json, parquet, ...), cada um deles com o prefixoread_*
.
Certifique-se de sempre verificar os dados após lê-los. Ao exibir um DataFrame
, a primeira e as últimas 5 linhas serão mostradas por padrão:
In [3]: titanic Out[3]: PassengerId Survived Pclass ... Fare Cabin Embarked 0 1 0 3 ... 7.2500 NaN S 1 2 1 1 ... 71.2833 C85 C 2 3 1 3 ... 7.9250 NaN S 3 4 1 1 ... 53.1000 C123 S 4 5 0 3 ... 8.0500 NaN S .. ... ... ... ... ... ... ... 886 887 0 2 ... 13.0000 NaN S 887 888 1 1 ... 30.0000 B42 S 888 889 0 3 ... 23.4500 NaN S 889 890 1 1 ... 30.0000 C148 C 890 891 0 3 ... 7.7500 NaN Q [891 rows x 12 columns]
-
Quero ver as primeiras 8 linhas de um DataFrame do pandas.
In [4]: titanic.head(8) Out[4]: PassengerId Survived Pclass Name ... Ticket Fare Cabin Embarked 0 1 0 3 Braund, Mr. Owen Harris ... A/5 21171 7.2500 NaN S 1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... ... PC 17599 71.2833 C85 C 2 3 1 3 Heikkinen, Miss. Laina ... STON/O2. 3101282 7.9250 NaN S 3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) ... 113803 53.1000 C123 S 4 5 0 3 Allen, Mr. William Henry ... 373450 8.0500 NaN S 5 6 0 3 Moran, Mr. James ... 330877 8.4583 NaN Q 6 7 0 1 McCarthy, Mr. Timothy J ... 17463 51.8625 E46 S 7 8 0 3 Palsson, Master. Gosta Leonard ... 349909 21.0750 NaN S [8 rows x 12 columns]
Para ver as primeiras N linhas de um
DataFrame
, use o métodohead()
com o número necessário de linhas (neste caso 8) como argumento.
Observação
Em vez disso, está interessado nas últimas N linhas? pandas também fornece o método tail()
. Por exemplo, titanic.tail(10)
retornará as últimas 10 linhas do DataFrame.
Uma verificação de como o pandas interpreta cada um dos tipos de dados da coluna pode ser feita solicitando o atributo dtypes
do pandas:
In [5]: titanic.dtypes Out[5]: PassengerId int64 Survived int64 Pclass int64 Name object Sex object Age float64 SibSp int64 Parch int64 Ticket object Fare float64 Cabin object Embarked object dtype: object
Para cada uma das colunas, o tipo de dados usado é listado. Os tipos de dados DataFrame
são integers (int64
), floats (float64
) e strings (object
).
Observação
Ao solicitar o atributo dtypes
, não são usados colchetes! dtypes
é um atributo do DataFrame
e das Series
. Os atributos do DataFrame
ou Series
não precisam de colchetes. Os atributos representam uma característica de um DataFrame
/ Series
, enquanto um método (que requer colchetes) faz algo com o DataFrame
/ Series
conforme apresentado no primeiro tutorial.
-
Meu colega solicitou os dados do Titanic em uma planilha.
In [6]: titanic.to_excel("titanic.xlsx", sheet_name="passengers", index=False)
Enquanto as funções com o prefixo
read_*
são usadas para ler dados e criar um DataFrame ou Series pandas, os métodos com o prefixoto_*
são usados para armazenar um DataFrame ou Series num arquivo (por exemplo, CSV ou xls). O métodoto_excel()
armazena os dados como um arquivo Excel. No exemplo aqui, osheet_name
é nomeado passengers em vez do padrão Sheet1 . Ao definir o índice de linha comoindex=False
, os rótulos não são salvos na planilha.
A função de leitura equivalente read_excel()
recarregará os dados em um DataFrame
:
In [7]: titanic = pd.read_excel("titanic.xlsx", sheet_name="passengers")
In [8]: titanic.head() Out[8]: PassengerId Survived Pclass Name ... Ticket Fare Cabin Embarked 0 1 0 3 Braund, Mr. Owen Harris ... A/5 21171 7.2500 NaN S 1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... ... PC 17599 71.2833 C85 C 2 3 1 3 Heikkinen, Miss. Laina ... STON/O2. 3101282 7.9250 NaN S 3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) ... 113803 53.1000 C123 S 4 5 0 3 Allen, Mr. William Henry ... 373450 8.0500 NaN S [5 rows x 12 columns]
-
Estou interessado em um resumo técnico de um
DataFrame
.In [9]: titanic.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 891 entries, 0 to 890 Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 PassengerId 891 non-null int64 1 Survived 891 non-null int64 2 Pclass 891 non-null int64 3 Name 891 non-null object 4 Sex 891 non-null object 5 Age 714 non-null float64 6 SibSp 891 non-null int64 7 Parch 891 non-null int64 8 Ticket 891 non-null object 9 Fare 891 non-null float64 10 Cabin 204 non-null object 11 Embarked 889 non-null object dtypes: float64(2), int64(5), object(5) memory usage: 83.7+ KB
O método
info()
fornece informações técnicas sobre oDataFrame
, então vamos explicar a saída com mais detalhes:-
É realmente um
DataFrame
. -
Existem 891 entradas, ou seja, 891 linhas.
-
Cada linha possui um rótulo de linha (também conhecido como
index
) com valores que variam de 0 a 890. -
A tabela possui 12 colunas. A maioria das colunas tem um valor para cada uma das linhas (todos os 891 valores têm
non-null
). Algumas colunas têm valores ausentes e menos de 891non-null
valores. -
As colunas
Name
,Sex
,Cabin
eEmbarked
consiste de dados textuais (cordas, akaobject
). As outras colunas são dados numéricos com alguns deles números inteiros (akainteger
) e outros são números reais (akafloat
) -
O tipo de dados (caracteres, inteiros, ...) nas diferentes colunas são resumidos listando o
dtypes
. -
A quantidade aproximada de RAM usada para armazenar o DataFrame também é fornecida.
-
LEMBRAR
-
A obtenção de dados para o pandas de muitos formatos de arquivo ou fontes de dados diferentes é suportada por funções
read_*
. -
A exportação de dados de pandas é fornecida por diferentes métodos com prefixo
to_*
. -
Os métodos
head
/tail
/info
e o atributodtypes
são convenientes para uma primeira verificação.
Traduzido por Acervo Lima. O original pode ser acessado aqui.
0 comentários:
Postar um comentário