Bardiagramm – Passwortlänge (Python)¶
Die Frage lautete: Wissen Sie/weißt Du, ab wieviele Zeichen ein Kennwort als relativ sicher gilt?
Es konnte zwischen den Werten 5, 8 und 15 gewählt werden.
Diese Frage wurde in einer Umfrage zum Secaware4school-Projekt gestellt.
import numpy as np
import pandas as pd
import matplotlib
df = pd.read_csv("passwort-beantwortet.csv",
delimiter=';')
Statistik zu den Passwortlängen¶
passworte_ohne_leerangabe = df.query('Passwortlaenge > 0')
Die Antworten aggregiert nach den vorgegebenen Antwortmöglichkeiten
gruppiert = df.groupby("Passwortlaenge").agg(
{"Passwortlaenge":["count"]}).query('Passwortlaenge > 0').apply(list)
Ausgabe als Bardiagram
ax = pd.Series(index=b.tolist(),
data=a.tolist(),
name='pwd')
#ax[0].color(red)
ax.plot(kind='bar',
title ="Sichere Passworte",
legend=False,
fontsize=16,
rot=0,
colormap='RdYlGn')
<AxesSubplot:title={'center':'Sichere Passworte'}>

Die Säulen lassen sich mit der groupby erzeugten Struktur nicht einzeln färben. Deshalb müssen die Werte einzlen extahiert und in normale Listen konvertiert werden.
werte = gruppiert['Passwortlaenge']['count'].values
label = gruppiert['Passwortlaenge'].index.values
position = [i * 3 for i in range(len(b.tolist()))]
werte = werte.tolist()
label= label.tolist()
plt.figure(figsize=[10, 7])
plt.bar(position, werte, width=2, edgecolor='blueviolet',
color=['r', 'c', 'g', 'b', 'c', 'k',
'olive', 'gray', 'y', 'pink'], linewidth=1)
plt.title('Als sicher eingestufte Passwortlänge', fontsize=15)
plt.xticks(position,label)
plt.xlabel('Passwortlänge', fontsize=15)
plt.ylabel('Anzahl Stimmen', fontsize=15)
plt.show()
