English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exemplo de operação estatística descritiva do Pandas
O DataFrame é usado para uma grande quantidade de cálculos, estatísticas descritivas e outras operações relacionadas. A maioria delas é agregação, como sum(), mean(), mas algumas agregações (como sumsum()) produzem objetos de tamanho idêntico. Em geral, esses métodos usam o parâmetro de eixo, como ndarray. {sum, std, ...} mas podem ser especificados por nome ou inteiro DataFrame − Índice (axis=0, padrão), coluna (axis=1)
import pandas como pd import numpy como np #Criar um dicionário de series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } # Criação de um DataFrame df = pd.DataFrame(d) print(df)
Resultados da Execução:
Idade Nome Avaliação 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 7 34 Lee 3.78 8 40 David 2.98 9 30 Gasper 4.80 10 51 Betina 4.10 11 46 Andres 3.65
Retorna a soma dos valores do eixo solicitado. Pelo padrão, o eixo é o índice (eixo=0)
import pandas como pd import numpy como np #Cria um dicionário de Series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } #Criar um DataFrame df = pd.DataFrame(d) print(df.sum())
Resultados da Execução:
Idade 382 Nome TomJamesRickyVinSteveSmithJackLeeDavidGasperBe... Avaliação 44.92 dtype: object
Cada coluna individual adiciona uma string
Esta sintaxe produz o seguinte conteúdo.
import pandas como pd import numpy como np #Criar um dicionário de series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } #Criar um DataFrame df = pd.DataFrame(d) print(df.sum(1))
Resultados da Execução:
0 29.23 1 29.24 2 28.98 3 25.56 4 33.20 5 33.60 6 26.80 7 37.78 8 42.98 9 34.80 10 55.10 11 49.65 dtype: float64
Retorna a média.
import pandas como pd import numpy como np #Criar um dicionário de series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } #Criar um DataFrame df = pd.DataFrame(d) print(df.mean())
Resultados da Execução:
Idade 31.833333 Avaliação 3.743333 dtype: float64
Retorna a desvio padrão Bressel das colunas numéricas.
import pandas como pd import numpy como np #Criar um dicionário de series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } #Criar um DataFrame df = pd.DataFrame(d) print(df.std())
Resultados da Execução:
Idade 9.232682 Avaliação 0.661628 dtype: float64
Agora vamos entender as funcionalidades de estatísticas descritivas no Python Pandas. A tabela a seguir lista funcionalidades importantes:
Número | Método | Descrição |
1 | count() | Nenhum valor vazio |
2 | sum() | Total |
3 | mean() | Média |
4 | median() | Mediana |
5 | mode() | Padrão |
6 | std() | Desvio padrão |
7 | min() | Mínimo |
8 | max() | Máximo |
9 | abs() | Valor absoluto |
10 | prod() | Produto |
11 | cumsum() | Adição acumulativa |
12 | cumprod() | Multiplicação acumulativa |
import pandas como pd import numpy como np #Criar um dicionário de series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } #Criar um DataFrame df = pd.DataFrame(d) print(df.describe())
Resultados da Execução:
Idade Avaliação count 12.000000 12.000000 mean 31.833333 3.743333 std 9.232682 0.661628 min 23.000000 2.560000 25% 25.000000 3.230000 50% 29.500000 3.790000 75% 35.500000 4.132500 max 51.000000 4.800000
Esta função fornece valores médios, std e IQR. E, a função não inclui colunas de caracteres e resumos específicos de colunas numéricas. “include” é um parâmetro necessário para passar informações sobre quais colunas considerar na agregação. Lista de valores; o valor padrão é “number”.
object − Resumo das colunas de stringsnumber − Resumo das colunas numéricasall − Resumo de todas as colunas juntas (não deve ser tratado como valor de lista).A seguir, usamos a seguinte instrução no programa e executamos e mostramos:
import pandas como pd import numpy como np #Criar um dicionário de series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } #Criar um DataFrame df = pd.DataFrame(d) print(df.describe(include=['object']))
Resultados da Execução:
Nome count 12 unique 12 top Ricky freq 1
A seguir, usamos a seguinte instrução no programa e executamos e mostramos:
import pandas como pd import numpy como np #Criar um dicionário de series d = {'Nome':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack', 'Lee','David','Gasper','Betina','Andres']), '''Idade':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]), 'Avaliação':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65]) } #Criar um DataFrame df = pd.DataFrame(d) print(df. describe(include='all'))
Resultados da Execução:
Idade Nome Avaliação count 12.000000 12 12.000000 unique NaN 12 NaN top NaN Ricky NaN freq NaN 1 NaN mean 31.833333 NaN 3.743333 std 9.232682 NaN 0.661628 min 23.000000 NaN 2.560000 25% 25.000000 NaN 3.230000 50% 29.500000 NaN 3.790000 75% 35.500000 NaN 4.132500 max 51.000000 NaN 4.800000