示例#1
0
def foo():
    # Cargamos los datos
    datos = sci.load_csv("serie.csv")

    x = sci.data_map(datos, lambda dic: dic["tiempo"])
    y1 = sci.data_map(datos, lambda dic: dic["sensor1"])
    y2 = sci.data_map(datos, lambda dic: dic["sensor2"])
    y3 = sci.data_map(datos, lambda dic: dic["sensor3"])

    fig, ax = plt.subplots()

    ax.plot(x, y1)
    ax.plot(x, y2)
    ax.plot(x, y3)

    # Regresamos la imagen como la respuesta del servidor
    canvas = FigureCanvasAgg(fig)

    png_output = StringIO.StringIO()

    canvas.print_png(png_output)

    response = make_response(png_output.getvalue())

    response.headers["Content-Type"] = "image/png"

    return response
示例#2
0
def home():
    datos = sci.load_xl("Libro1.xlsx", "Hoja1", "C4:F10")

    labels = sci.data_map(datos[0], lambda k: k)

    html = "<table>"

    html += "<tr>"
    for label in labels:
        html += "<th>%s</th>" % label
    html += "</tr>"

    for dic in datos:
        html += "<tr>"
        for label in labels:
            html += "<td>%s</td>" % (str(dic[label]))
        html += "</tr>"

    html += "</table>"

    return html
示例#3
0
from sci import load_xl, data_map

datos = load_xl("datos_flujo.xlsx", "Hoja1", "B2:D9")

def f(dic):
    # dic (N, S, A)
    if dic["S"] > 5:
        return dic

filtrados = data_map(datos, f)

print filtrados
示例#4
0
from sci import data_map

a = [1, 2, 3, 4, 5, 9, 18]


def f(num):
    if num % 2 == 0:
        return num + 1
    else:
        return num


b = data_map(a, f)

print b
示例#5
0
from sci import load_xl, data_map
from datetime import datetime

clientes = load_xl("clientes.xlsx", "Hoja1", "A1:C1001")


def enero_2015(cliente):
    # cliente (Nombre, Fecha, Consumo)
    fecha = datetime.strptime(cliente["Fecha"], "%d-%m-%Y")
    ini = datetime.strptime("1-1-2015", "%d-%m-%Y")
    fin = datetime.strptime("31-1-2015", "%d-%m-%Y")

    if fecha >= ini and fecha <= fin:
        return cliente["Consumo"]


consumos = data_map(clientes, enero_2015)

total = sum(consumos)
promedio = total / len(consumos)

print "Total de consumo: %d Promedio: %.2f" % (total, promedio)
示例#6
0
import sci

a = [1, 2, 3, 5, 7, 5, 3]

b = sci.data_map(a, lambda x: 10 - x)

print b

示例#7
0
import matplotlib.pyplot as plt
from sci import data_map


def f(x):
    return x + w


n = 3

w = 0.8 / n

x1 = [1, 2, 3, 4, 5]
x2 = data_map(x1, f)  #
x3 = data_map(x2, f)  #

y1 = [10, 20, 30, 40, 50]
y2 = [50, 40, 30, 20, 10]
y3 = [10, 20, 40, 30, 50]

plt.bar(x1, y1, w)  #
plt.bar(x2, y2, w)  #
plt.bar(x3, y3, w)  #

plt.show()
示例#8
0
import re

def latlon(coord):
    #22°21′00″N
    r = re.search("(\d+).(\d+).(\d+)..(\w)", coord)

    g = int(r.group(1))
    m = int(r.group(2))
    s = int(r.group(3))

    return g + m / 60.0 + s / 3600.0

import sci

rutas = sci.load_xl("estados.xlsx", "Hoja2", "A1:C9")

lats = sci.data_map(rutas, lambda ruta: latlon(ruta["Latitud"]))
lons = sci.data_map(rutas, lambda ruta: -latlon(ruta["Longitud"]))

latlons = zip(lats, lons)

XY = sci.data_map(latlons, lambda (lat, lon): map(lon, lat))

X = sci.data_map(XY, lambda (x, y): x)
Y = sci.data_map(XY, lambda (x, y): y)

plt.plot(X, Y)
plt.plot(X, Y, "ro")

plt.show()
示例#9
0
def tdatoX(paciente):
    sexo = 1 if paciente["Sexo"] == "Hombre" else 2

    s1 = 1 if paciente["S1"] == "SI" else 0
    s2 = 1 if paciente["S2"] == "SI" else 0
    s3 = 1 if paciente["S3"] == "SI" else 0

    return [sexo, s1, s2, s3]

def tdatoY(paciente):
    e1 = 1 if paciente["E1"] == "SI" else 0
    e2 = 1 if paciente["E2"] == "SI" else 0

    return [e1, e2]

X = sci.data_map(datos, tdatoX)
Y = sci.data_map(datos, tdatoY)

from sklearn.neural_network import MLPClassifier

clf = MLPClassifier()

clf.fit(X, Y)

Yp = clf.predict([[1, 1, 0, 1], [0, 0, 0, 1]])

def f(Y):
    return {
        "E1": "SI" if Y[0] == 1 else "NO",
        "E2": "SI" if Y[1] == 1 else "NO"
    }
示例#10
0
from sklearn.neural_network import MLPClassifier
import sci

datos = sci.load_xl("sintomas.xlsx", "Hoja1", "B3:G8")

def tsexo(paciente):
    if paciente["Sexo"] == "Hombre":
        return 1
    return 2

def tsino(paciente):
    if paciente[k] == "SI":
        return 1
    return 0

sexos = sci.data_map(datos, tsexo)

k = "S1"
s1 = sci.data_map(datos, tsino)

k = "S2"
s2 = sci.data_map(datos, tsino)

k = "S3"
s3 = sci.data_map(datos, tsino)

k = "E1"
e1 = sci.data_map(datos, tsino)

k = "E2"
e2 = sci.data_map(datos, tsino)
示例#11
0
import sci

# CSV - Cargar una lista de diccionarios de un archivo csv

personas = sci.load_csv("datos_lab.csv")

#print personas


def transform(persona):
    if persona["Sexo"] == "Mujer":
        return persona["Ingresos"]


ingresos_mujeres = sci.data_map(personas, transform)

print ingresos_mujeres
示例#12
0
import sci

data = [
    {
        "x": 10,
        "y": 8
    },
    {
        "x": 1,
        "y": 2
    },
    {
        "x": 5,
        "y": 3
    },
    {
        "x": 7,
        "y": 1
    },
]

data2 = sci.data_map(data, lambda dic: dic["x"] if dic["x"] > 5 else None)

print data2