La liste des 32 désinformateurs de Twitter

174 x served & 28 x viewed

Merci à https://twitter.com/ZeteHub d’avoir fait cette liste. L’idéal serait que toutes les personnes bloquent ses comptes :

A noter aussi le bon travail de https://twitter.com/StephaneCapo :
La sphére autour de Raoult est fortement complotiste …

Analyse via Grafana du compte Twitter @CYBERNEURONES

203 x served & 22 x viewed

Voici donc les graphiques :


Le programme est en Python.

 

INSEE : Nombre de mort par tranche d’age

182 x served & 36 x viewed

J’ai donc fait un nouveau graphique, du nombre de mort par tranche d’age avec les données de l’INSEE. (Tranche de 10 ans)

Le graphique est faux sur la fin 2020, il ne sera juste que vers mi-fevrier 2021. Quand l’INSEE aura publié les données.

Voici donc mon process :

Etape 1 : Téléchargement des données de l’INSEE : https://www.insee.fr/fr/information/4190491

Etape 2 : je mets tout sur un même fichier:

# cat deces-* Deces_2020_M* | grep -v "nomprenom" > Full.csv
# wc -l Full.csv 
  25528867 Full.csv

Etape 3 : Je fais tourner un premier programme en Python :

# cat parse2.py 
import csv
import datetime
from dateutil.relativedelta import relativedelta

with open('Full.csv', 'rt') as f:
    csv_reader = csv.reader(f, quotechar='"', delimiter=';', quoting=csv.QUOTE_ALL, skipinitialspace=True)

    for line in csv_reader:
        #print(line[2])
        if (len(line[2]) == 8) and (not (str(line[2]).endswith("00"))):
            try:
               start_date = datetime.datetime.strptime(line[2],"%Y%m%d");
            except:
               print("error1",line[2])
        #print(line[6])
        if (len(line[6]) == 8) and (not (str(line[6]).endswith("00"))):
             try:
               end_date = datetime.datetime.strptime(line[6],"%Y%m%d");
               age = relativedelta(end_date, start_date).years
               #print(line[6])
               year = end_date.year
               month = end_date.month
               if  age <= 10:
                   print year,",",month,", 0to10"
               if 10 < age <= 20:
                   print year,",",month,", 10to20"
               if 20 < age <= 30:
                   print year,",",month,", 20to30"
               if 30 < age <= 40:
                   print year,",",month,", 30to40"
               if 40 < age <= 50:
                   print year,",",month,", 40to50"
               if 50 < age <= 60:
                   print year,",",month,", 50to60"
               if 60 < age <= 70:
                   print year,",",month,", 60to70"
               if 70 < age <= 80:
                   print year,",",month,", 70to80"
               if 80 < age <= 90:
                   print year,",",month,", 80to90"
               if 90 < age : print year,",",month,", more90" except: print("error2",line[6]) # python parse2.py > age2.csv

Etape 4 : J’ordonne et je fais le ménage (je garde que les année 20xx):

# cat clear.bash 

cat age2.csv | grep -v "error" | sort -n | uniq -c > sort-age2.csv
echo "Date,Number" > 0to10.csv
grep "0to10" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 0to10.csv
echo "Date,Number" > 10to20.csv
grep "10to20" sort-age2.csv  | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 10to20.csv
echo "Date,Number" > 20to30.csv
grep "20to30" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 20to30.csv
echo "Date,Number" > 30to40.csv
grep "30to40" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 30to40.csv
echo "Date,Number" > 40to50.csv
grep "40to50" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 40to50.csv
echo "Date,Number" > 50to60.csv
grep "50to60" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 50to60.csv
echo "Date,Number" > 60to70.csv
grep "60to70" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 60to70.csv
echo "Date,Number" > 70to80.csv
grep "70to80" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 70to80.csv
echo "Date,Number" > 80to90.csv
grep "80to90" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> 80to90.csv
echo "Date,Number" > more90.csv
grep "more90" sort-age2.csv | awk '{if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print $2 "-0" $4 "," $1 ;} }' | grep "^20" | sort -n >> more90.csv

# ./clear.bash

Ou bien je garde uniquement > 1975 avec clear2.bash

 

cat clear2.bash 

cat age2.csv | grep -v "error" | sort -n | uniq -c > sort-age2.csv
echo "Date,Number" > 0to10.csv
grep "0to10" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }'  | sort -n >> 0to10.csv
echo "Date,Number" > 10to20.csv
grep "10to20" sort-age2.csv  | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }' | sort -n >> 10to20.csv
echo "Date,Number" > 20to30.csv
grep "20to30" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }' | sort -n >> 20to30.csv
echo "Date,Number" > 30to40.csv
grep "30to40" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }' | sort -n >> 30to40.csv
echo "Date,Number" > 40to50.csv
grep "40to50" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }'  | sort -n >> 40to50.csv
echo "Date,Number" > 50to60.csv
grep "50to60" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }'  | sort -n >> 50to60.csv
echo "Date,Number" > 60to70.csv
grep "60to70" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }' | sort -n >> 60to70.csv
echo "Date,Number" > 70to80.csv
grep "70to80" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }' | sort -n >> 70to80.csv
echo "Date,Number" > 80to90.csv
grep "80to90" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }'  | sort -n >> 80to90.csv
echo "Date,Number" > more90.csv
grep "more90" sort-age2.csv | awk '{if ($2 > 1975) {if ($4 > 9) {print  $2 "-" $4 "," $1 ;} else if ($4 < 10) {print  $2 "-0" $4 "," $1 ;}} }'  | sort -n >> more90.csv

Etape 5 : Je dessine :

# cat draw2.py 
import plotly.graph_objects as go

import pandas as pd

fig = go.Figure()

df = pd.read_csv('./0to10.csv')
fig.add_trace(go.Scatter(x=df['Date'], y=df['Number'],name='10 to 20'))

df2 = pd.read_csv('./10to20.csv')
fig.add_trace(go.Scatter(x=df2['Date'], y=df2['Number'],name='10 to 20'))

df3 = pd.read_csv('./20to30.csv')
fig.add_trace(go.Scatter(x=df3['Date'], y=df3['Number'],name='20 to 30'))

df4 = pd.read_csv('./30to40.csv')
fig.add_trace(go.Scatter(x=df4['Date'], y=df4['Number'],name='30 to 40'))

df5 = pd.read_csv('./40to50.csv')
fig.add_trace(go.Scatter(x=df5['Date'], y=df5['Number'],name='40 to 50'))

df6 = pd.read_csv('./50to60.csv')
fig.add_trace(go.Scatter(x=df6['Date'], y=df6['Number'],name='50 to 60'))

df7 = pd.read_csv('./60to70.csv')
fig.add_trace(go.Scatter(x=df7['Date'], y=df7['Number'],name='60 to 70'))

df8 = pd.read_csv('./70to80.csv')
fig.add_trace(go.Scatter(x=df8['Date'], y=df8['Number'],name='70 to 80'))

df9 = pd.read_csv('./80to90.csv')
fig.add_trace(go.Scatter(x=df9['Date'], y=df9['Number'],name='80 to 90'))

df10 = pd.read_csv('./more90.csv')
fig.add_trace(go.Scatter(x=df10['Date'], y=df10['Number'],name='more 90'))


fig.show()

#  python3 draw2.py

Le résultat, j’ai un problème sur décembre 1989 :

Hold Up Le Documentaire : Tour d’horizon de la presse (suite)

161 x served & 31 x viewed

La suite car il y a vraiment des bons posts sur Twitter :