In [3]:
import pandas as pd
df = pd.read_csv(
r'C:/temp/auswertung/auswertung.csv',
names=["Zeit", "Rolle", "Antworten"],
sep=",",
header=0)
df.head()
Out[3]:
In [4]:
teilnehmerzahl = len(df)
teilnehmerzahl
Out[4]:
In [5]:
pd.DataFrame(df['Rolle'].value_counts())
Out[5]:
In [6]:
%matplotlib inline
df['Rolle'].value_counts().plot(kind="pie", figsize=(8,8), fontsize=16)
Out[6]:
In [7]:
df['Antworten'] = df['Antworten'].str.replace("Entwicklungsprozess;", "Entwicklungsprozess,")
antworten = df['Antworten'].str.split(";", expand=True).unstack().reset_index()
# Hack für vorhandenen Semikolon :-/
antworten[0] = antworten[0].str.replace("Entwicklungsprozess,", "Entwicklungsprozess;")
antworten = antworten[[0]]
antworten['count'] = 1
prozentualer_anteil = antworten.groupby(0).count()
prozentualer_anteil["Wir"] = prozentualer_anteil['count'] / teilnehmerzahl
prozentualer_anteil.head(10)
Out[7]:
In [8]:
prozentualer_anteil['Wir'].sort_values().plot(kind='barh', figsize=(10,15), fontsize=20)
Out[8]:
In [9]:
vergleichsauswertung = pd.read_csv(
r"C:/Temp/auswertung/andere.csv",
sep="|",
index_col=0,
names=["Frage", "Andere"],
header=0)
vergleichsauswertung.head(10)
Out[9]:
In [10]:
ergebnis_raw = prozentualer_anteil.join(vergleichsauswertung, how="outer").sort_values(by="Wir", ascending=False).fillna(0)
del(ergebnis_raw['count'])
ergebnis_raw['Wir'] = ergebnis_raw['Wir'] * 100
ergebnis = ergebnis_raw.copy()
ergebnis['Wir'] = ergebnis['Wir'].apply(lambda x : '{:,.2f} %'.format(x))
ergebnis['Andere'] = ergebnis['Andere'].apply(lambda x : '{:,.2f} %'.format(x))
ergebnis
Out[10]:
In [11]:
ergebnis_raw.sort_values(by="Wir").plot(kind='barh', figsize=(10,15), fontsize=20)
Out[11]:
In [14]:
ergebnis_raw["pseudogesamt"] = (ergebnis_raw['Wir'] + ergebnis_raw["Andere"]) / 2.0
ergebnis_raw = ergebnis_raw.sort_values(by="pseudogesamt", ascending=False)
ergebnis_raw
Out[14]:
In [ ]: