Python - mais Pandas !

 E hoje continuamos com mais funções do Pandas em Python !

Aplicar uma função numa coluna do dataframe:

Imaginemos que vamos importar um ficheiro em CSV (de preferência guardado como UTF-8 para o Python o abrir sem problemas, e definindo o separador para aparecer tudo bonito):

df = pd.read_csv('C:/Users/Dell Latitude E5570/Desktop/python8.csv', sep = ';')

(verificar o UTF-8 e o separador)

E agora queremos pegar numa coluna deste nosso dataframe, por exº a coluna dos salário e aumentar 500 em cada um dos elementos. Podíamos fazer isso um a um, mas se tivéssemos milhares de elementos não era muito inteligente. Vamos portanto criar primeiro uma função:

def aumento_salario(x):

       return x + 500

Dizemos que para a variável x que coloquemos, iremos ter de volta a variável x + 500.

Agora aplicamos essa função na coluna desejada com o comando .apply():

df['Salário'].apply(aumento_salario)

E voilá !


E se quisermos por exemplo saber quantas letras tem o nome de cada trabalhador ?

df['Trabalhador'].apply(len)


Ou somarmos todos os valores da coluna dos salários ?

df['Salário'].sum()

Sorting

Podemos também organizar o nosso dataframe fazendo um sort pela coluna que queremos:

df.sort_values(by='Salário')

Aqui organizamos o dataframe pelo salário por ordem ascendente.


Atenção que isto só organiza o dataframe, não grava o dataframe organizado. Para tal teríamos de fazer o seguinte:

df.sort_values(by='Salário', inplace = True)

Este "inplace = True" grava o nosso dataframe organizado por cima do anterior.

Podemos também apagar as últimas linhas de um dataframe com o seguinte comando:

df2.drop(df.tail(2).index,inplace=True)

Então e se tivermos 3 dataframes diferentes, o que podemos fazer com eles ?


Juntar diversos DataFrames

Vamos primeiro reordenar o nosso df, alterando o seu index:

df.index = range(4)


Depois temos outro dataframe que terá de ter o seu index alterado, para ficar a seguir ao nosso df:

df1.index = [4,5]


Assim o index em vez de ser 0 e 1, passa a ser de 4 e 5. Para o nosso terceiro dataframe, fazemos o mesmo.


De seguida vamos então concatená-los:

pd.concat([df,df1,df2])

E aqui temos apenas um dataframe a partir de 3 diferentes:




















Comentários

Mensagens populares deste blogue

Python - criar nomes aleatórios

Python - Gerador de nomes aleatórios: V2.0