Python Pandas - Funcionalidade básica
Até agora, aprendemos sobre as três estruturas de dados do Pandas e como criá-las. Vamos nos concentrar principalmente nos objetos DataFrame por causa de sua importância no processamento de dados em tempo real e também discutir algumas outras DataStructures.
Funcionalidade básica da série
Sr. Não. | Atributo ou método e descrição |
---|---|
1 | axes Retorna uma lista dos rótulos dos eixos das linhas |
2 | dtype Retorna o dtype do objeto. |
3 | empty Retorna True se a série estiver vazia. |
4 | ndim Retorna o número de dimensões dos dados subjacentes, por definição 1. |
5 | size Retorna o número de elementos nos dados subjacentes. |
6 | values Retorna a série como ndarray. |
7 | head() Retorna as primeiras n linhas. |
8 | tail() Retorna as últimas n linhas. |
Vamos agora criar uma série e ver a operação de todos os atributos tabulados acima.
Exemplo
import pandas as pd
import numpy as np
#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print s
Está output é o seguinte -
0 0.967853
1 -0.148368
2 -1.395906
3 -1.758394
dtype: float64
eixos
Retorna a lista de rótulos da série.
import pandas as pd
import numpy as np
#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print ("The axes are:")
print s.axes
Está output é o seguinte -
The axes are:
[RangeIndex(start=0, stop=4, step=1)]
O resultado acima é um formato compacto de uma lista de valores de 0 a 5, ou seja, [0,1,2,3,4].
vazio
Retorna o valor booleano informando se o objeto está vazio ou não. True indica que o objeto está vazio.
import pandas as pd
import numpy as np
#Create a series with 100 random numbers
s = pd.Series(np.random.randn(4))
print ("Is the Object empty?")
print s.empty
Está output é o seguinte -
Is the Object empty?
False
ndim
Retorna o número de dimensões do objeto. Por definição, uma série é uma estrutura de dados 1D, então ela retorna
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print s
print ("The dimensions of the object:")
print s.ndim
Está output é o seguinte -
0 0.175898
1 0.166197
2 -0.609712
3 -1.377000
dtype: float64
The dimensions of the object:
1
Tamanho
Retorna o tamanho (comprimento) da série.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(2))
print s
print ("The size of the object:")
print s.size
Está output é o seguinte -
0 3.078058
1 -1.207803
dtype: float64
The size of the object:
2
valores
Retorna os dados reais da série como uma matriz.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print s
print ("The actual data series is:")
print s.values
Está output é o seguinte -
0 1.787373
1 -0.605159
2 0.180477
3 -0.140922
dtype: float64
The actual data series is:
[ 1.78737302 -0.60515881 0.18047664 -0.1409218 ]
Cabeça e cauda
Para visualizar uma pequena amostra de um objeto Series ou DataFrame, use os métodos head () e tail ().
head() retorna o primeiro nlinhas (observe os valores do índice). O número padrão de elementos a serem exibidos é cinco, mas você pode passar um número personalizado.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print ("The original series is:")
print s
print ("The first two rows of the data series:")
print s.head(2)
Está output é o seguinte -
The original series is:
0 0.720876
1 -0.765898
2 0.479221
3 -0.139547
dtype: float64
The first two rows of the data series:
0 0.720876
1 -0.765898
dtype: float64
tail() retorna o último nlinhas (observe os valores do índice). O número padrão de elementos a serem exibidos é cinco, mas você pode passar um número personalizado.
import pandas as pd
import numpy as np
#Create a series with 4 random numbers
s = pd.Series(np.random.randn(4))
print ("The original series is:")
print s
print ("The last two rows of the data series:")
print s.tail(2)
Está output é o seguinte -
The original series is:
0 -0.655091
1 -0.881407
2 -0.608592
3 -2.341413
dtype: float64
The last two rows of the data series:
2 -0.608592
3 -2.341413
dtype: float64
Funcionalidade básica do DataFrame
Vamos agora entender o que é DataFrame Basic Functionality. As tabelas a seguir listam os atributos ou métodos importantes que ajudam na funcionalidade básica do DataFrame.
Sr. Não. | Atributo ou método e descrição |
---|---|
1 | T Transpõe linhas e colunas. |
2 | axes Retorna uma lista com os rótulos do eixo da linha e rótulos do eixo da coluna como os únicos membros. |
3 | dtypes Retorna os dtypes neste objeto. |
4 | empty Verdadeiro se NDFrame estiver totalmente vazio [sem itens]; se algum dos eixos tiver comprimento 0. |
5 | ndim Número de eixos / dimensões da matriz. |
6 | shape Retorna uma tupla que representa a dimensionalidade do DataFrame. |
7 | size Número de elementos no NDFrame. |
8 | values Representação numpy de NDFrame. |
9 | head() Retorna as primeiras n linhas. |
10 | tail() Retorna as últimas n linhas. |
Vamos agora criar um DataFrame e ver como funcionam os atributos mencionados acima.
Exemplo
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data series is:")
print df
Está output é o seguinte -
Our data series is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
T (transpor)
Retorna a transposição do DataFrame. As linhas e colunas serão trocadas.
import pandas as pd
import numpy as np
# Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# Create a DataFrame
df = pd.DataFrame(d)
print ("The transpose of the data series is:")
print df.T
Está output é o seguinte -
The transpose of the data series is:
0 1 2 3 4 5 6
Age 25 26 25 23 30 29 23
Name Tom James Ricky Vin Steve Smith Jack
Rating 4.23 3.24 3.98 2.56 3.2 4.6 3.8
eixos
Retorna a lista de rótulos de eixo de linha e rótulos de eixo de coluna.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Row axis labels and column axis labels are:")
print df.axes
Está output é o seguinte -
Row axis labels and column axis labels are:
[RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'],
dtype='object')]
dtypes
Retorna o tipo de dados de cada coluna.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("The data types of each column are:")
print df.dtypes
Está output é o seguinte -
The data types of each column are:
Age int64
Name object
Rating float64
dtype: object
vazio
Retorna o valor booleano informando se o objeto está vazio ou não; True indica que o objeto está vazio.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Is the object empty?")
print df.empty
Está output é o seguinte -
Is the object empty?
False
ndim
Retorna o número de dimensões do objeto. Por definição, DataFrame é um objeto 2D.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The dimension of the object is:")
print df.ndim
Está output é o seguinte -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The dimension of the object is:
2
forma
Retorna uma tupla que representa a dimensionalidade do DataFrame. Tupla (a, b), onde a representa o número de linhas eb representa o número de colunas.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The shape of the object is:")
print df.shape
Está output é o seguinte -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The shape of the object is:
(7, 3)
Tamanho
Retorna o número de elementos no DataFrame.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The total number of elements in our object is:")
print df.size
Está output é o seguinte -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The total number of elements in our object is:
21
valores
Retorna os dados reais no DataFrame como um NDarray.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The actual data in our data frame is:")
print df.values
Está output é o seguinte -
Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The actual data in our data frame is:
[[25 'Tom' 4.23]
[26 'James' 3.24]
[25 'Ricky' 3.98]
[23 'Vin' 2.56]
[30 'Steve' 3.2]
[29 'Smith' 4.6]
[23 'Jack' 3.8]]
Cabeça e cauda
Para visualizar uma pequena amostra de um objeto DataFrame, use o head() e os métodos tail (). head() retorna o primeiro nlinhas (observe os valores do índice). O número padrão de elementos a serem exibidos é cinco, mas você pode passar um número personalizado.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data frame is:")
print df
print ("The first two rows of the data frame is:")
print df.head(2)
Está output é o seguinte -
Our data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The first two rows of the data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
tail() retorna o último nlinhas (observe os valores do índice). O número padrão de elementos a serem exibidos é cinco, mas você pode passar um número personalizado.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
#Create a DataFrame
df = pd.DataFrame(d)
print ("Our data frame is:")
print df
print ("The last two rows of the data frame is:")
print df.tail(2)
Está output é o seguinte -
Our data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The last two rows of the data frame is:
Age Name Rating
5 29 Smith 4.6
6 23 Jack 3.8