Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Valores exibidos em colunas dummies são decimais

Olá a todos.

Ao utilizar o pandas para converter uma coluna contendo variáveis categóricas em dummies (seguindo o Vídeo 6 da Aula 3), observei que no vídeo são exibidos valores inteiros (0 e 1), enquanto que no meu código são exibidos valores decimais (0.0 e 1.0). Isso ocorre apenas nas colunas dummies.

Há algum problema nisso? Como faço que o meu resultado fique igual ao do exibido no vídeo?

Meu ambiente de programação conta com Python 3.5 e ambiente de Análise de Dados instalado através do pacote Anaconda.

Obrigado.

3 respostas

Opa Duany, tudo bem?

Poderia mandar o seu código para eu dar uma olhada no que pode estar acontecendo?

Abraços.

Bom dia, Alex. Desculpe pela demora em responder. Semana cheia de trabalhos, só hoje consegui um tempinho.

Este é o código do arquivo "classifica_buscas.py":

import pandas as pd

df = pd.read_csv('busca.csv')

X_df = df[['home','busca','logado']]
Y_df = df['comprou']

Xdummies_df = pd.get_dummies(X_df)
Ydummies_df = Y_df

X = Xdummies_df.values
Y = Ydummies_df.values

print(X)
print("\n================================================================\n")
print(Xdummies_df)

Observe, ao executar, que ao imprimir os valores das colunas dummies da variável Xdummies_df os valores são exibidos em decimal, e no vídeo da aula estes mesmos valores são inteiros. Eis um trecho da saída no terminal, quando imprimindo a variável Xdummies_df:

     home  logado  busca_algoritmos  busca_java  busca_ruby
0       0       1               1.0         0.0         0.0
1       0       0               0.0         1.0         0.0
2       1       0               1.0         0.0         0.0

Para fins de informação, este é o ambiente Python instalado em minha máquina:

Air-de-Duany:alura-ia duany$ python
Python 3.5.2 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:52:12) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Creio que possa ser algo relacionado com a versão do Python ou de algum módulo, pois na aula 2 o Guilherme informa que para avançar para a próxima linha do iterador CSV é necessário o seguinte comando:

import csv

def carregar_acessos():
    X = []
    Y = []

    arquivo = open('acesso.csv', 'rb')
    leitor = csv.reader(arquivo)

   leitor.next()  ...

Mas em meu ambiente esse última linha dava erro. Foi necessário utilizar next(leitor).

Aguardo sua resposta.

Abraços.

solução!

Oi Duany, é bem provável que seja mesmo estou usando a versão 2.7.12 e apareceu com números inteiros...