7 Funções incomuns em Pandas: clip, eval, combine_first, transform, melt, diff & shift

Funções para aumentar nossas habilidades com Pandas

Pandas é uma das bibliotecas de análise de dados mais populares em Python. Existem inúmeras funções e métodos Pandas que facilitam e agilizam o processo de limpeza e análise de dados.

Pandas também fornece algumas funções que não são tão comuns, mas são bem úteis para certas tarefas. Neste post, vamos cobrir 7 funções Pandas:

.clip( )

Digamos que não queremos ter valores negativos e queremos torná-los iguais a zero. Podemos definir o parâmetro inferior da função do clipe como 0.

df.clip(
lower = 0)
df.clip(lower = 0)

Todos os valores negativos são iguais a zero agora. Também podemos atribuir um limite superior. Agora, podemos cortar os valores para ficar entre 0 e 1.

df.clip(
lower = 0,
upper = 1)
df.clip(lower=0, upper=1)

.eval( )

df.eval(
"cola = cola * 10")
df.eval(“cola = cola * 10”)

Também podemos criar uma nova coluna:

df.eval(
"new = cola * colb")
df.eval(“new = cola * colb”)

É importante notar que precisamos definir o parâmetro inplace para salvar as mudanças. Caso contrário, a função eval retornará uma versão modificada do dataframe, mas não alterará a original.

.combine_first( )

Podemos atualizar os valores faltantes no segundo dataframe com base no primeiro dataframe.

df2.combine_first(df1)
df2.combine_first(df1)

.transform( )

Podemos pegar o registro de cada valor usando a função de transformação.

df.transform(lambda x: np.log(x))
df.transform(lambda x: np.log(x))

Uma característica útil da função de transformação é que ela aceita múltiplas funções. Podemos especificá-los em uma lista como abaixo.

df.transform(
[lambda x: np.log(x), np.sqrt])
df.transform([lambda x: np.log(x), np.sqrt])

.melt( )

É melhor ter o dataframe em formato longo para determinadas tarefas. A função melt fornece uma maneira bastante simples para esta conversão. Será mais claro quando fizermos um exemplo.

Considere o dataframe a seguir em grande formato.

O dataframe contém medições diárias para algumas pessoas. A função melt pode ser usada para convertê-la em um formato longo como abaixo.

df_long = pd.melt(df, id_vars='name')
df_long.head(10)
df_long = pd.melt(df, id_vars=’name’)

.diff( )

Queremos criar uma coluna que contenha a diferença entre os valores consecutivos em “colc”.

df['diff_c'] = df['colc'].diff()
df
df[‘diff_c’] = df[‘colc’].diff()

Como a primeira linha não tem nenhuma linha anterior, o primeiro valor da coluna diff_c é nulo.

.shift( )

Podemos usar a função shift especificando um número positivo ou negativo de períodos.

df.shift(3)
df.shift(3)

Se passarmos por um período negativo, os valores serão deslocados na direção oposta. Também podemos especificar um valor a ser usado em vez de valores nulos criados devido à mudança.

df.shift(-3, fill_value=0)
df.shift(-3, fill_value=0)

O que cobrimos neste artigo é apeas uma pequena parte das habilidades do Pandas no processo de análise de dados, mas certamente será útil para nossas tarefas no dia a dia.

Muito obrigado.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store