Python

Python & Anaconda: Instalación y Configuración (Windows)

Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.

Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y en menor medida programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma. Wikipedia

Los lenguajes preferidos para Machine Learning son Python y R, en mi caso prefiero usar es Python, aquí hay dos opciones para instalar Python, una es directamente desde la página de Python la otra es instalando Anaconda que trae varios packages predeterminados para Machine Learning.

Instalar Python desde Python.org

Primero descargamos la última versión de Python desde Downloads, sino estamos seguros cual versión instalar, si 2 o 3 puedes comenzar con la 3 y validar después de acuerdo a tus requerimientos, si necesitas más ayuda puedes validar acá Python 2 or Python 3.

PythonDownload

Una vez descargado instalamos la aplicación, mi recomendación es instalarlo en una carpeta de raíz,puede ser C:\ u otro disco duro.

PythonInstall1

En Optional Features podemos dejar todos seleccionados, y en Advance Options verificar que esté la opción seleccionada para añadir Python a las variables de entorno y en mi caso también quiero tener los binarios de VS2015 instalados porque utilizaré Python con VS más adelante.

PythonInstall2

Luego de instalado podemos verificar la versión escribiendo en la línea de comando:

python --version

Si tenemos instaladas varias versiones de Python y queremos ejecutar una versión específica podemos usar el comando py -x.x filename.py.

PythonVersion

Instalar Python desde Anaconda

Para instalar Python desde Anaconda vamos a la página de Downloads y escogemos la versión que queramos.

AnacondaDownload

Podemos escoger en que carpeta vamos a instalar, en mi caso la dejo por defecto y en la siguiente pantalla, dependiendo de la versión que queramos por defecto de Python, podemos habilitar o deshabilitar Anaconda como default Python.

AnacondaInstall3

Una vez lo instalemos podremos acceder al Anaconda Navigator, en la cual tendremos dos pantallas de importancia Home y Environments. En Home encontraremos las aplicaciones que tenemos instalados en el workspace actual de Anaconda que por Default es Root.

AnacondaNav

Y en Environments tendremos todos los paquetes instalados en Root.

AnacondaNavEnv

Para utilizar el ambiente root que creamos una carpeta y verificamos que tengamos acceso a Conda, como no instalamos Anaconda en la variable de Path como nos recomendaron, para ejecutar comandos tenemos que apuntar a la carpeta de scripts.

C:\Users\Michael\Anaconda3\Scripts\conda -V

CondaVersion

Actualizamos Conda

C:\Users\Michael\Anaconda3\Scripts\conda update conda

CondaUpdate

Creamos un nuevo Environment con el comando

C:\Users\Michael\Anaconda3\Scripts\conda create -n mytestenv biopython

biopython es un Package Spec que nos instala una lista de paquetes, para tener más detalle podemos entrar a esta URL Anaconda Package List.

Para usar los environments simplemente los activamos y desactivamos con los siguientes comandos:

C:\Users\Michael\Anaconda3\Scripts\activate mytestenv
deactivate mytestenv

CondaActivate

Siempre podemos añadir un Environment o la ruta de los environments al PATH de las variables del sistema para hacer mucho más amigable el uso de los comandos de Conda.

MongoDB, NoSQL

MongoDB: Comandos básicos

MongoDB es una base de datos de documentos con la escalabilidad y flexibilidad que quieres más las consultas e indices que necesitas.

Cheat Sheet

Crear base de datos
use myDB                                   
Crear colección con datos
db.collection.insert (...)
Obtener todos los datos de una colección
db.collection.find() 
Obtener todos los datos de una colección y mostrarlos versión impresión              
db.collection.find().pretty()   
Obtener un dato de una colección y mostrarlo versión impresión 
db.collection.findOne()   
Remover registro usando un parámetro
db.collection.remove({"Parametro" : "Value"}) 
Actualizar registro usando un parámetro
db.collection.update({"Parametro" : "Value"},$set:{...}) 
Borrar colección
db.collection.drop()                
Obtener registro y columnas específicas usando un parámetro
db.collection.find({"Parametro":"Value"},{"Parametro":1,_id:0}) 
Obtener registro filtrado por valor del documento anidado (hijo)
db.collection.find({'Parametro.Subparametro': "Value"}) 
Obtener subdocumento 
db.collection.find({"Parametro":"Value",'Table.Data.id':"1"},{_id:0,'Table.$':1})

Ejemplos:

  • Crear una base de datos, una colección y consultar la información creada, un id es generado automáticamente para cada documento sino se específica “_id”.
Establecer nueva BD, no se crea hasta tener al menos una colección
use myDB
Crear colección e insertar registro
db.newCollection.insert({"Name":"My Name","Age":123,"Subdocument":[{"Texto":"Valor"},{"Texto2":"Valor2"}]})
Consultar la información insertada
db.newCollection.find()

MongoDBExample1

  • db.xxx.find().pretty() y db.xxx.findOne() muestran la misma información si hay un solo registro, si hay más de un registro findOne trae el primero y find().pretty los trae todos en formato impresión.

MongoDBExample2

  • Para remover documentos podemos utilizar cualquier campo como parámetro:
Insertar nuevo documento (No se requiere que los campos sean
los mismos en todos los documentos de una colección)
db.newCollection.insert({"Name":"Name2","Age":66,"OtroCampo":"campo2"})
db.newCollection.find()
Eliminar documento usando el campo Name
db.newCollection.remove({"Name":"Name2"})
db.newCollection.find()

MongoDBExample3

  • Cuando utilizamos la secuencia update, podemos actualizar el campo de un documento o agregar un campo nuevo.
db.newCollection.update({"Age":{$eq:123}},{$set:{"Name":"My Name update","Nuevo":"New Field"}},{multi:true})

MongoDBExample4

  • Obtener uno o varios campos de un documento específico:
db.newCollection.find({"Name":"My Name update"},{"Age":1,_id:0})

MongoDBExample5

  • Para obtener un documento basado en un subdocumento:
Insertar otro documento con el Subdocument
db.newCollection.insert({"Name":"My Name 2","Subdocument":[{"Texto":"Valor3"},{"Texto2":"Valor4"}]})
Buscar el documento que tiene el Subdocument Texto con valor "Valor3"
db.newCollection.find({"Subdocument.Texto":"Valor3"})

MongoDBExample6

  • Consultar solamente el valor del subdocumento
db.newCollection.find({"Subdocument.Texto":"Valor3"},{_id:0,"Subdocument.$":1})

MongoDBExample7

  • Eliminar colección.
db.newCollection.drop()

MongoDBExample8

MongoDB, NoSQL

Instalar MongoDB windows

Para instalar MongoDB primero tenemos que descargarlo desde la página oficial: Mongo Download Page

Si tenemos dudas de cual versión de MongoDB necesitamos, si es 32 o 64 bits, podemos ejecutar los siguientes comandos para la versión de Windows y la arquitectura.

wmic os get caption
wmic os get osarchitecture

Ejecuta el archivo descargado, da permiso de ejecución y realiza la instalación completa recomendada, si quieres instalar MongoDB en otra ruta puedes escoger la opción Custom.

MongoDBInstallComplete

Cuando hayamos finalizado la instalación, tendremos lo siguiente:

MongoDBFolder

Luego creamos la carpeta

C:\data\db

Ejecutamos el servidor de MongoDB

mongod.exe

MongoDBServer

Por defecto el servidor ejecuta en el puerto 27017.

Para conectarnos a Mongo podemos usar

mongo.exe

mongoCMD

O podemos instalar y usar RoboMongo:

RoboMongo

Uncategorized

Acerca de este blog

Este blog tiene temas relacionados a manipulación de datos, Big Data, Machine Learning, Reporting y varios experimentos.

Mis herramientas favoritas son:

  • Python
  • Power BI
  • Integration Services
  • MongoDB
  • SQL Server
  • Reporting Services

Espero que encuentre este sitio útil.