ordenar

Tutorial: Tratando sua Tabela no Python (com Pandas)

Este Tutorial deveria se chamar “Selecionando e Filtrando Elementos em um Dataframe no Python”, entretanto, para não confundir ninguém, exclui o termo “Dataframe”. De maneira formal, Dataframe é um objeto formado por séries bidimensionais. De forma esdrúxula, é o que normalmente lemos como uma tabela. Neste post, trabalhando com a biblioteca Pandas, vou mostrar como localizar elementos, fazer filtros, excluir colunas, ordenar os dados, dentre outras tarefas que realizamos em Dataframes. (mais…)

Anúncios

Proc Sort no R

Muita gente sabe utilizar o proc sort para ordenar os campos no SAS.

Por exemplo, podemos ordenar uma tabela chamada dados_entrada pelas colunas campo1 e campo2, do menor para o maior valor, e ter como saída uma tabela dados_saida (exemplo 1). E podemos também ordenar uma tabela chamada dados_entrada pelas colunas campo1, do menor para o maior, e campo2, do maior para o menor valor, e ter como saída uma tabela dados_saida (exemplo 2). Bastaria utilizar:

* exemplo 1
proc sort data= dados_entrada out= dados_saida; 
    by campo1 campo2; 
run;

* exemplo 2
proc sort data= dados_entrada out= dados_saida; 
    by campo1 descending campo2; 
run;

A mesma coisa, que nem todo mundo sabe, pode ser feita no R, e é até mais simples:

## exemplo 1
dados_saida = dados_entrada[order(dados_entrada$campo1,
dados_entrada$campo2),];

## exemplo 2
dados_saida = dados_entrada[order(dados_entrada$campo1,
-dados_entrada$campo2),];

R sendo R!

R: Ordenando colunas

Mais uma dica rápida…

Utilizando a base de dados german_credit_2, abaixo três formas de mudar as colunas de ordem:

## Le a base de dados

dados = read.csv("../database/german_credit_2.csv");

## Traz a coluna 21 para a primeira posicao pelos indices

dados = dados[, c(21,1,2,3,...,20];

## Traz a coluna 21 para a primeira posicao pelos nomes das colunas

dados = dados[, c("Foreign Worker","Creditability",...,"Telephone")];

## Traz a coluna 21 pelos indices, mas criando uma sequencia

dados = dados[, c(21, 1:20)];

Para quem não se lembra, ‘1 : 20′ tem como resposta a sequência 1, 2, 3, …, 20.

Claro que o que foi criado acima pode ser modificado de diversas formas:

## Traz a coluna 21, 20 e 19 para a primeira posicao
dados = dados[, c(21,20,19,1,2,3,...,18];

## Traz as colunas de 1 a 5, seguidas pelas de 10 a 20, deixando
## as demais fora
dados = dados[, c(1:5, 10:20)];