Func Pandas
Func Pandas
unique e nunique
A função unique no Pandas retorna uma lista dos elementos únicos com base na
ocorrência. Esta função é mais rápida do que a unique do NumPy e também inclui
valores NaN. Isso é particularmente útil para verificar os diferentes valores em um
campo categórico.
1 data['Embarked'].unique()
2. describe
Esta função mostra estatísticas descritivas, como média, desvio padrão, máximo,
mínimo e outras tendências centrais, além da forma da distribuição. Isso exclui os
valores NaN do resumo. Isso é útil para se ter uma ideia sobre a distribuição dos
campos de dados e outliers, se houver. O percentil da saída pode ser
personalizado mencionando a faixa de percentis no parâmetro da função.
data.describe()
1 data.describe()
3. sort_values
Esta função altera a ordem dos valores em uma coluna classificando-a. Portanto,
podemos usar isso para mostrar o dataset de acordo com nossa necessidade,
classificando em ordem crescente ou decrescente.
Podemos definir o parâmetro “ascending” verdadeiro ou falso, que por padrão é
verdadeiro. Também podemos alterar a classificação por índice ou coluna
definindo o parâmetro “eixo” 0 ou 1. Além disso, podemos classificar várias
colunas mencionando-as em uma lista, por exemplo:
1 (e.g. data.sort_values(by=[‘Age’,’Pclass’, ascending=[False,True])
2 data.sort_values(by='Age',ascending=False)
4. value_counts
Esta função retorna o valor da contagem para cada item exclusivo presente na
coluna. Os valores são exibidos em ordem decrescente para que o elemento mais
frequente venha primeiro. Isso exclui os valores nulos. Aqui, veremos o número de
homens e mulheres a bordo em diferentes classes, chamando a função
value_counts () da seguinte maneira:
1 data[['Pclass','Sex']].value_counts()
5. isnull
Esta função descobre se há algum valor ausente presente em um objeto do tipo
array. Esta função retorna valores booleanos após verificar os valores ausentes.
Estamos criando uma lista com um valor nulo e quando ela é passada pela função
isnull (), ela dá saída com uma lista booleana.
6. fillna
Esta função é usada para preencher os valores ausentes com base no método
especificado. Fillna usa parâmetros como valor (um valor que é usado para
preencher o valor ausente) e método (como bfill, ffill, etc). Em nosso conjunto de
dados de exemplo, o campo “Idade” tem um total de 177 valores ausentes. Vamos
preenchê-lo com a mediana de “Idade” usando a função fillna ().
1 data['Age'].fillna(value=data['Age'].median(),inplace=True)
2 data['Age'].isnull().sum()
7. groupby
A função Pandas groupby( ) é usada para dividir os dados e ajudar a aplicação
de alguma função a eles e no final combinar o resultado para outro objeto.
Frequentemente precisamos dividir os dados e aplicar alguma agregação (por
exemplo, soma, média, contagem, etc.) ou transformá-los (por exemplo, para
preencher valores ausentes ou padronizar dados), a função groupby é útil nessas
situações.
# queremos ver para cada campo de gênero máximo, mínimo, média e mediana de
idade
1 data.groupby(['Sex'])['Age'].agg(['max','min','mean','median'])
8. map
A função map ( ) no Pandas é usada para mapear séries e substituir valores de
uma série por outro valor associado a um dicionário, série ou função. Esta função
é frequentemente usada para substituir valores de uma coluna de um dataframe ou
uma série, mas lembre-se que todos os valores têm de ser do mesmo tipo!
Em nosso dataset, suponha que queremos converter o campo de gênero em um
campo binário, ou seja, substituir “masculino” pelo valor 1 e feminino pelo valor 0.
O mesmo pode ser feito facilmente da seguinte maneira:
1 data['Sex'].head()
Saída:
Saída:
1 array (['S', 'C', 'Q', nan], dtype = objeto)
A função Nunique, por outro lado, conta os valores distintos das colunas. Os
valores NaN podem ser ignorados. Isso mostra apenas o número de categorias
diferentes presentes em uma coluna de um dataframe.
1 data['Embarked'].nunique()
Saída: 3
2. describe
Esta função mostra estatísticas descritivas, como média, desvio padrão, máximo,
mínimo e outras tendências centrais, além da forma da distribuição. Isso exclui os
valores NaN do resumo. Isso é útil para se ter uma ideia sobre a distribuição dos
campos de dados e outliers, se houver. O percentil da saída pode ser
personalizado mencionando a faixa de percentis no parâmetro da função.
data.describe()
1 data.describe()
Saída:
3. sort_values
Esta função altera a ordem dos valores em uma coluna classificando-a. Portanto,
podemos usar isso para mostrar o dataset de acordo com nossa necessidade,
classificando em ordem crescente ou decrescente.
Podemos definir o parâmetro “ascending” verdadeiro ou falso, que por padrão é
verdadeiro. Também podemos alterar a classificação por índice ou coluna
definindo o parâmetro “eixo” 0 ou 1. Além disso, podemos classificar várias
colunas mencionando-as em uma lista, por exemplo:
1 (e.g. data.sort_values(by=[‘Age’,’Pclass’, ascending=[False,True])
2 data.sort_values(by='Age',ascending=False)
Saída:
4. value_counts
Esta função retorna o valor da contagem para cada item exclusivo presente na
coluna. Os valores são exibidos em ordem decrescente para que o elemento mais
frequente venha primeiro. Isso exclui os valores nulos. Aqui, veremos o número de
homens e mulheres a bordo em diferentes classes, chamando a função
value_counts () da seguinte maneira:
1 data[['Pclass','Sex']].value_counts()
Saída:
5. isnull
Esta função descobre se há algum valor ausente presente em um objeto do tipo
array. Esta função retorna valores booleanos após verificar os valores ausentes.
Estamos criando uma lista com um valor nulo e quando ela é passada pela função
isnull (), ela dá saída com uma lista booleana.
Saída:
6. fillna
Esta função é usada para preencher os valores ausentes com base no método
especificado. Fillna usa parâmetros como valor (um valor que é usado para
preencher o valor ausente) e método (como bfill, ffill, etc). Em nosso conjunto de
dados de exemplo, o campo “Idade” tem um total de 177 valores ausentes. Vamos
preenchê-lo com a mediana de “Idade” usando a função fillna ().
1 data['Age'].fillna(value=data['Age'].median(),inplace=True)
2 data['Age'].isnull().sum()
Saída: 0
O parâmetro “valor” de fillna () também pode ser obtido de outro groupby complexo
ou dataframe ou dicionário.
7. groupby
A função Pandas groupby( ) é usada para dividir os dados e ajudar a aplicação
de alguma função a eles e no final combinar o resultado para outro objeto.
Frequentemente precisamos dividir os dados e aplicar alguma agregação (por
exemplo, soma, média, contagem, etc.) ou transformá-los (por exemplo, para
preencher valores ausentes ou padronizar dados), a função groupby é útil nessas
situações.
# queremos ver para cada campo de gênero máximo, mínimo, média e mediana de
idade
1 data.groupby(['Sex'])['Age'].agg(['max','min','mean','median'])
Saída:
8. map
A função map ( ) no Pandas é usada para mapear séries e substituir valores de
uma série por outro valor associado a um dicionário, série ou função. Esta função
é frequentemente usada para substituir valores de uma coluna de um dataframe ou
uma série, mas lembre-se que todos os valores têm de ser do mesmo tipo!
Em nosso dataset, suponha que queremos converter o campo de gênero em um
campo binário, ou seja, substituir “masculino” pelo valor 1 e feminino pelo valor 0.
O mesmo pode ser feito facilmente da seguinte maneira:
1 data['Sex'].head()
Saída:
Saída:
9. apply
A função apply() no Pandas certamente é uma das funções mais versáteis entre
todas. Nós podemos utilizar uma função apply() e ela se aplicará a todo o
dataframe (ou a uma série particular). Isso ajuda a modificar os dados de acordo
com a condição de uma maneira muito flexível. Vamos ver um exemplo simples,
aqui temos um dataframe e uma das colunas tem marcas que queremos converter
em uma porcentagem.
1 df=pd.DataFrame({'Name':['X','Y','Z'],'Marks':[150,120,175]})
2 df
Saída:
1 def percentage_marks(x):
2 return x/2
3 df['Marks'].apply(percentage_marks)
Saída:
Aplicar função também pode ser usada com função anônima ou função lambda.
Suponha que tenhamos que converter um campo contínuo como “idade” em uma
coluna de faixa etária diferente ou converter um campo categórico em um campo
codificado por rótulo e, em seguida, aplicar a função junto com a função lambda é
muito útil nessas situações.
1 data['Age_bin']=data['Age'].apply(lambda x : 1 if x<=30 else
Saída:
1 df.pivot(index='Class',columns='Section',values='Gr')
Saída: