Nov 27, 2020

Using Panda and Python/ Anaconda to follow the progression of COVID in different department in FRANCE

The Second version is on my Gitlab account here

Sample Charts




The first Version :

Code:

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

#Population data from : https://www.insee.fr/fr/statistiques/1893198
popEx = pd.read_csv("population_2020.csv",sep=";")
popEx


#datetime  convert based on https://gist.github.com/gjreda/7433f5f70299610d9b6b
from datetime import datetime
#convert from 2020-03-19
to_datetime = lambda d: datetime.strptime(d, '%Y-%m-%d')
#convert from 19/03/2020
to_frDate = lambda dt: datetime.strptime(dt,'%d/%m/%Y')

#données des test PCR issue de santé public
#PCR data from : https://www.data.gouv.fr/fr/datasets/donnees-relatives-aux-resultats-des-tests-virologiques-covid-19/
raw_tests = pd.read_csv("sp-pos-quot-dep-2020-11-26-19h15.csv",sep=";",dtype={"dep":str,"P":int,"T":int}, converters={'jour': to_datetime})
raw_tests["Cas Positifs"] = np.nan
raw_tests["positivity"]= (100*raw_tests["P"])/raw_tests["T"]

#hospitalisation data from : https://www.data.gouv.fr/fr/datasets/donnees-hospitalieres-relatives-a-lepidemie-de-covid-19/
raw_new_hosp=pd.read_csv("donnees-hospitalieres-nouveaux-covid19-2020-11-26-19h03.csv",sep=";",dtype={"dep":str,"incid_hosp":int,"incid_rea":int,"incid_dc":int,"incid_rad":int},converters={"jour":to_datetime})
raw_new_hosp["hosp"] =np.nan # new column used for smoothing the data 

#selected departement
deps=["06","13","38","42","69","75","83"]

for d in deps :
    
    #departement data: population and Name 
    detail_dep = popEx.loc[popEx["dep"]==d, ["Nom_dep","population"]]
    nom_dep=detail_dep.iloc[0,0]
    pop_dep = detail_dep.iloc[0,1]
    print(" Le nom du département est :" + nom_dep +" , et la population en 2020 est estimée à :" + pop_dep)
    
    
    #PCR Test DATA per Departement
    raw_tests_dep = raw_tests.loc[ (raw_tests["cl_age90"]==0) & (raw_tests["dep"]==d),["jour","P","T","Cas Positifs","positivity"] ]
    #check that filtered data is not empty
    if not raw_tests_dep.empty:
        #Smoothing over one week in order to remove weekend distortions
        raw_tests_dep["Cas Positifs"] = raw_tests_dep["P"].rolling(7).mean()
        
        plt.rcParams["figure.figsize"] = [16,9]
        raw_tests_dep.plot(x="jour",y=["Cas Positifs"], title= "Covid dans " + d +"("+nom_dep +")",grid=True)
        plt.show()
        
        plt.rcParams["figure.figsize"] = [8,6]
        raw_tests_dep.tail(45).plot(x="jour",y=["Cas Positifs"], title= "Covid dans " + d +"("+nom_dep +")",grid=True)
        plt.show()
        
        print( d )
        print( raw_tests_dep.tail(10))
    else:
        print( "PCR Tests data for :" +d + " is EMPTY")
        
    #Hospitalisation Data
    raw_hosp_dep= raw_new_hosp.loc[raw_new_hosp["dep"]==d,["jour","hosp","incid_hosp","incid_rea"]]
    if not raw_hosp_dep.empty :
        #Smoothing over one week in order to remove weekend distortions
        raw_hosp_dep["hosp"]= raw_hosp_dep["incid_hosp"].rolling(7).mean()
        
        plt.rcParams["figure.figsize"] = [16,9]
        raw_hosp_dep.plot(x="jour",y=["hosp"], title= "Admissions à l'hopital pour le COVID dans " + d +"("+nom_dep +")",grid=True)
        plt.show()
        
        plt.rcParams["figure.figsize"] = [8,6]
        raw_hosp_dep.tail(45).plot(x="jour",y=["hosp"], title= "Admissions à l'hopital pour le COVID dans " + d +"("+nom_dep +")",grid=True)
        plt.show()
        
        print( "Hospitalisation dans " + d )
        print( raw_hosp_dep.tail(10))
    else:
        print( " The Hospital admissions data for department:" +d + " is EMPTY")




May 13, 2018

Mixed Integer Linear Programming , on Python using Google Optimisation Tools


  1. Install Python 64 bits ( https://www.python.org/downloads/), append the Path windows environmental value by adding the location of python.
    you can also install an IDE like Visual Studio Community, previous known as Visual Studio Express.
    You need the VS Community if you want to compile C++, or C# codes with Google OR tools
  2. Install Google Optimisation Tools using python PIP: (https://developers.google.com/optimization/introduction/installing/binary#installing-on-windows)
    • python -m pip install --user --upgrade ortools
    • But before check that you have the proper version ( python 64 bit and version >3.6 and PIP is higher than 9.01
      • python --version
      • python -c "import platform; print(platform.architecture()[0])"
      • python -m pip --version
  3. Run your first MIP 
    • Or Run the sample Linear Problem:
    from __future__ import print_function
    from ortools.linear_solver import pywraplp

    def main():
      solver = pywraplp.Solver('SolveSimpleSystem',
                               pywraplp.Solver.GLOP_LINEAR_PROGRAMMING)
      x = solver.NumVar(0, 1, 'x')
      y = solver.NumVar(0, 2, 'y')
      objective = solver.Objective()
      objective.SetCoefficient(x, 1)
      objective.SetCoefficient(y, 1)
      objective.SetMaximization()
      solver.Solve()
      print('Solution:')
      print('x = ', x.solution_value())
      print('y = ', y.solution_value())

    if __name__ == '__main__':
      main()

Dec 12, 2017

Dad 's glogcuse results

I am playing with google sheets, I a starting to think that Excel have really become a thing from the past.

Any way below are Dad's interactive glucose test in an interactive chart

Apr 22, 2016

Hotel Bravo - The robot


Hotel Bravo One :
Mop Robot base with
arduino chip as motion controller and navigation module
 and Linked to Raspberry Pi ( I call it RasPI) for the communiction and intelligence framwork

For the first try

The first base that I bought is :
http://www.amazon.fr/gp/product/B00A5T3D8W?psc=1&redirect=true&ref_=oh_aui_detailpage_o01_s00

but may be I should buy
http://www.amazon.fr/Provac-RV-2-Aspirateur-Robot/dp/B005EPNUBW/ref=aag_m_pw_dp?ie=UTF8&m=A29AAHUA1K1PCK


On the Intelligence and Communication Level
There is
The RasPI


Wifi Dongle for RasPI
SAMTECH Wireless 802.11b/g/n 150Mbps USB Adapter WiFi LAN Dongle Network
A nano Blutetooth dongle for the raspi
Univers GSM Super NanoTooth Mini Clé USB Bluetooth pour Nokia/HTC/Samsung/Motorola/Sony Ericsson Noir

I bought a combo wifi+ bluetoo doogle ( a bit too big , may be 2 seperate nano dungle are better)
2 in 1 USB2.0 USB 2.0 to Bluetooth v3.0 3.0 + WiFi 150Mbps 150M Wireless LAN Network Ethernet Card Adapter Converter Dongle
Also for the communication a sim reader to be tested on Raspi
SODIAL(R) Lecteur USB de carte Sim du t¨¦l¨¦phone portable Pour SMS vers PC

Hadware Level aka Motion controlor;

either a Nano Arduino

I bought a cheap verion of Nano Arduino for testing
2 de JMT Nouvelle version améliorée Pro Mini Atmega328P 5V / blocs de 16MHz For Electronic Media interactif

And Of couse in order to program the Nano Arduino a chip loader ( to tansfer your file / image / binary) from the pc to the chip
XINTE FT232RL Downloader USB au câble Serial Télécharger câble USBTO232 USB vers USB MODULE TTL Module FT232

For the Arduino distance mesuremeant ultrasound , to test if they have interferance issue
3 de 4-Pin Module à ultrasons HC-SR04 Capteur de mesure de distance pour Arduino


Also on the hardware level , temp and Humidity detection( however it seems that the motion can alter those result to be tested
DHT22/AM2302 Capteur Numérique Température Humidité DC 3.5V-6V

I also in case I want to bypass the communication level , I bought bluetooth  chip for Arduino. I should provide  a wireless access to the motion conrol level
2 de JMT Bluetooth sans fil en forme de série module esclave HC-06 pour Arduino

Apr 15, 2016

C'est bizarre comment certain article chère sont placés a la place produit moins chères et en oubliant de remplacer l'étiquettage



Cas :Leader Price A gardanne - Je crois que ce magasin peut être considéré comme la reference de la mal gestion. S'il faut apprendre la mal gestion il faut que venir pendre des leçons la-bas, des choses a ne pas faire. ( Il chasse les clients un quart d'heure en avance pour qu'ils puissent quitter les lieux a l'heure de fermeture, l’étiquetage c'est optionnel pour eux, il ya de moins en moins de clients mais les file d'attente devant les caisses sont interminables)


C'est systémique il faut se méfier des prix affiché chez eux, s'ils existent déjà.

Le cas de crème de vinaigre balsamique chez Leader Price a gardanne est ( Le prix affiché est de 0€96 mais c'est pour un ancien produit, il fallait lire la description en petite lettre minuscule) mais le  prix payés est de plus que 3 euros et si vous regarder il n'ya aucune etiquette pour un produit a 3 euros.
Meme presque après un mois, toujours c’était le même prix de l'ancien article similaire..



Cas GIFI - Plan de campagne

Et caisse pliante chez Gifi. (prix affiché 3 euros mais ils facturent 4 euros pour les colorés meme si il n'y a pas de prix affiché pour les colorés, il faut deviner que ce n'est pas le meme code barre et peut etre deviner que c'est 4 euros)





Je n'ai pas prix de photo de derriere parce que ce jour , mais quand je suis venu avec la dame qui travaille la bas il n avait rien. ( Et bien sur elle ne voulait rien remboursé, ou accepter que c'est une tromperie de leur part)

Rappel des lois qui concernant étiquetage

Les prix doivent etre affiché, soit un lecteur existe. Mais rien n'est indiqué pour l'etiqutage portant à l'erreur
http://www.cliquedroit.com/l-obligation-de-vendre-au-prix-affich-c20-f76.html


association de consomateurs

https://fr.wikipedia.org/wiki/Organisation_g%C3%A9n%C3%A9rale_des_consommateurs

liste asso

http://www.economie.gouv.fr/dgccrf/Associations-de-consommateurs-des-Bouches-du-Rhone


Sanctions
 la direction de la concu peuvent sanctionner avec des amendes administratives publiés.
http://www.economie.gouv.fr/dgccrf/sanctions-protection-economique-des-consommateurs

Tromperie ( 300k + 2 ans de prison)
http://www.economie.gouv.fr/dgccrf/Publications/Vie-pratique/Fiches-pratiques/Tromperie

Mar 12, 2015

Remote controlled servo

To do link to the components 
 2 atmega or arduino ....
2 RF24 for sending And receiving Data packets
A servo
And a potentiometer 


I experimented with different version, the version with a separated files one for the transceiver and one for the receiver is the one that is working properly.


The uno used as transmitter 

Tho pro mini used as a receiver , powered by a Usb backup

Mar 31, 2012

you are killing your grandchildren

comments on the bbc video on nice
" Old Ladie wanted an extramly expensive treatement in order to gain 6 months with her grandchildren , saying that she paid taxes all her life
TBD


----------U S case ---------------

Worst case sytem and less effective and the most expensive.

the us is nb one in responsiveness:

-- or resphnsive of usual care that is not used coz it's too expensive , hence most of the people