Anfangs nur zu Dokumentationszwecken ließ 0x0a (Gregor Weichbrodt und Hannes Bajohr) diese Kommentare durch ein Scraping-Script regelmäßig sammeln. Seit Dezember letzten Jahres ist bis heute ein 282.596 Kommentare und 7.751.654 Wortformen umfassendes Textkorpus der Pegida-Sprache entstanden.
First, import stuff we need.
import pandas as pd
from pandas.tseries.resample import TimeGrouper
from pandas.tseries.offsets import DateOffset
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_context("poster")
sns.set_style("white")
from datetime import datetime
print('Pandas Version: %s' % pd.__version__)
Pandas Version: 0.15.2
corpus = pd.read_csv('pegida_korpus.csv', delimiter=',', names=['Datum','Comment'], index_col='Datum', parse_dates=True)
corpus.tail(10)
Comment | |
---|---|
Datum | |
2015-01-01 21:15:25 | Hitler scheint noch immer immensen Einfluß auf... |
2015-01-14 17:38:17 | http://www.focus.de/politik/ausland/exodus-nac... |
2014-12-19 18:46:11 | dann esse ich eben ein sinti&roma staek... |
2015-01-22 19:27:06 | Andere Länder mein ich auch du Depp! Türkei, S... |
2014-12-27 11:13:46 | Die Pro-Stimmen werden nicht genannt. Ist doch... |
2014-12-16 09:30:52 | Daher ist deine Aussage grade ohne sinn gewesen. |
2015-01-26 06:37:59 | Ich bin stolz auf unsere Ossis, muß ja mal ges... |
2015-01-25 09:27:26 | Ich glaube das wird schwer. Die alten CDU Wähl... |
2015-01-04 06:44:04 | der kapiert das schon. Das ist eine der Takti... |
2015-01-13 20:05:44 | am besten alle weg reuschieren |
You see some links: Nice! Here is a short overview.
commentsperday = corpus['Comment'].resample('24H', how='count')
Spaziergänge waren immer montags gegen 18:30Uhr seit dem 20.10.2014, außer am 19.01.2015 wegen Morddrohungen gegen Bachmann
spaz = pd.date_range('10/20/2014 18:30', periods=15, freq='7D')
spaz
<class 'pandas.tseries.index.DatetimeIndex'> [2014-10-20 18:30:00, ..., 2015-01-26 18:30:00] Length: 15, Freq: 7D, Timezone: None
plt.figure(figsize=(12,4))
commentsperday.plot(kind='area', alpha=0.5)
#for i, s in enumerate(spaz):
# plt.axvline(x=s, label='Spaziergang' if i==0 else '', alpha=0.3, c='k')
#plt.ylabel('Comments per Day')
#leg = plt.legend(loc='upper left')
plt.title('Kommentare pro Tag auf der Deutschen Pegida facebook Seite')
plt.annotate('Pegida facebook Seite, Korpus von 0x0a (http://0x0a.li/de/die-sprache-pegidas)', \
xy=(1,1), xytext=(0.95,0.2), xycoords='figure fraction', ha='right')
plt.savefig('Comments-per-Day.png', dpi=150, bbox_inches='tight')
def countperdayplot(wordlist):
plt.figure(figsize=(12,4))
for word in wordlist:
corpus['Comment'][corpus.Comment.str.contains(word)].resample('1D', how='count').plot(kind='area', label=word, alpha=0.3)
plt.legend(loc='best')
plt.ylabel('am Tag')
plt.annotate('Pegida facebook Seite, Korpus von 0x0a (http://0x0a.li/de/die-sprache-pegidas)', \
xy=(1,1), xytext=(0.95,0.2), xycoords='figure fraction', ha='right')
plt.title('So oft wurde das Wort ... in den Kommentaren gebraucht')
return plt
plot = countperdayplot(['Medien', 'Lügenpresse', 'Systemmedien'])
plot.savefig('Comments-per-Day-Presse.png', dpi=150, bbox_inches='tight')
plot = countperdayplot(['Antifa', 'Gutmenschen', 'Linke'])
plot.savefig('Comments-per-Day-Linke.png', dpi=150, bbox_inches='tight')
plot = countperdayplot(['Bachmann', 'Führer'])
plot.savefig('Comments-per-Day-Bachmann.png', dpi=150, bbox_inches='tight')
plot = countperdayplot(['CDU', 'AfD', 'SPD', 'NPD'])
plot.savefig('Comments-per-Day-Parteien.png', dpi=150, bbox_inches='tight')
That great Book covers almost everything shown here:
Natural Language Processing with Python by Steven Bird, Ewan Klein, and Edward Loper O'Reilly Media, 2009
import nltk
from nltk.corpus import stopwords
from nltk import FreqDist
Common Words of a Language to filter out
stop_eng = stopwords.words('english')
stop_ger = stopwords.words('german')
customstopwords = ['mal', 'mehr', 'dass', 'schon', 'wer', 'viele', 'bitte', \
'wohl', 'für', 'gibt', 'macht', 'einfach', 'über', 'ganz', \
'unsere', 'können']
Clean the Comments from a bunch of stuff we are not interested in
def cleancomments(comments):
try:
txt = comments['Comment']
except:
txt = str(comments)
tokens = []
sentences = []
sentences.append(txt.lower())
tokens.extend([t.lower().strip("\"<>()*^:,.!?") for t in txt.split()])
hashtags = [w for w in tokens if w.startswith('#')]
mentions = [w for w in tokens if w.startswith('@')]
links = [w for w in tokens if w.startswith('http') or w.startswith('www')]
filtered_tokens = [w.decode('utf-8') for w in tokens \
if not w in stop_eng \
and not w in stop_ger \
and not w in customstopwords \
and not len(w)<3 \
and not w in hashtags \
and not w in links \
and not w in mentions]
return ' '.join(filtered_tokens)
corpus['tokens'] = corpus.apply(cleancomments, axis=1)
-c:16: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
corpus.head(20)
Comment | tokens | |
---|---|---|
Datum | ||
2014-12-27 09:50:06 | Dir persönlich alles gute! -. . Und wirke posi... | persönlich gute wirke positiv umfeld weiß viel... |
2015-01-25 07:50:37 | Passt auf euch auf, wenn die Linksnazis&Grünfa... | passt linksnazis&grünfaschisten zuschlagen köl... |
2014-12-07 21:23:15 | Sei schlau stell dich dumm... | sei schlau stell dumm |
2015-01-21 10:23:05 | Das war diese linksextremistische antifa, die ... | linksextremistische antifa warm heute abend da... |
2014-12-17 20:49:52 | immer mit der ruhe und nicht irre machen lassen. | immer ruhe irre lassen |
2015-01-13 13:33:12 | so ist es, wenn die keiner kauft, haben die au... | kauft melden |
2015-01-07 21:14:52 | Das nächste Eigentor. | nächste eigentor |
2014-12-30 19:45:22 | http://crimethinc.com/books/work/iww.jpg | |
2014-12-18 17:57:11 | Der geistige Durchfall den ihr verbreitet.. Is... | geistige durchfall verbreitet lächerlich wirkl... |
2015-01-06 17:45:02 | Ja ich finde auch Rostock sinnvoll und wichtig... | finde rostock sinnvoll wichtig sache hoffentli... |
2015-01-24 22:09:00 | Ach so und ich habe die " Jewish Defense Leagu... | ach jewish defense league deren kontakte pi- n... |
2014-12-27 22:50:15 | Ach kiekste, hier versammelt sich die Hartz-IV... | ach kiekste versammelt hartz-iv-elite abendlan... |
2014-12-22 11:38:50 | Murat, ich habe es auf keiner Pegida Veranstal... | murat pegida veranstaltung erlebt asylrecht wi... |
2015-01-13 00:09:34 | ich weis - mein echter Nachname ist ja auch Sc... | weis echter nachname schlangen |
2015-01-01 17:52:38 | Sehr geehrte Frau Huya, so wie Sie sich artiku... | geehrte frau huya artikulieren glaube gerne au... |
2015-01-20 07:37:03 | Diese Nagelbombe ist aus muslimer Hand... | nagelbombe muslimer hand |
2015-01-06 07:12:31 | Wo kommst Du denn her ? | kommst |
2015-01-04 19:13:32 | Nehmt als 20. Punkt am besten auch das Problem... | nehmt punkt besten problem ttip forderungen un... |
2015-01-22 10:19:51 | U dann möchte man den Islamunterricht einführe... | möchte islamunterricht einführen |
2015-01-15 21:55:01 | http://www.pi-news.net/2014/11/die-metamorphos... |
filtered_tokens=[]
for idx, row in corpus.tokens.iteritems():
filtered_tokens.extend(row.split())
freq_dist = nltk.FreqDist(filtered_tokens)
freq_dist.plot(11)
from collections import OrderedDict
words = ['Islamisierung', 'Systemmedien', 'Gutmenschen', 'Führer', 'Lügenpresse','Bachmann','Wirtschaftsflüchtlinge', \
'Hass', 'Liebe', 'Geld', 'Abschieben', 'Helfen', 'Pack', 'Deutschland', 'Menschen', 'Land', 'Volk', 'Islam']
freq={}
for w in words:
freq[w] = freq_dist.freq(w.lower().decode('utf-8'))
#Sort it
freq = OrderedDict(sorted(freq.items(), key=lambda t: t[1]))
plt.figure(figsize=(11,5))
plt.bar(range(len(freq)), [v for v in freq.values()])
plt.xticks([x+0.5 for x in range(len(freq))], [lab.decode('utf-8') for lab in freq.keys()], rotation=40, ha='right')
plt.ylabel('Wortanteil in Kommentaren')
plt.title(u'Darüber spricht Pegida auf facebook')
plt.annotate('Kommentare von Pegida facebook Seite, Korpus von 0x0a (http://0x0a.li/de/die-sprache-pegidas)', \
xy=(1,1), xytext=(0.94,0.05), xycoords='figure fraction', ha='right')
plt.savefig('WordFreq.png', dpi=150, bbox_inches='tight')
def length(comment):
wortlist = comment.Comment.split()
return len(wortlist)
corpus['Worte'] = corpus.apply(length, axis=1)
top10length = corpus.sort(columns='Worte', ascending=False).head(10)
Diese sind folgende:
top10length
Comment | Worte | |
---|---|---|
Datum | ||
2015-01-21 07:28:56 | Ja, den kann ich Dir erklären! Die DDR hat am ... | 1108 |
2015-01-24 19:26:31 | § 21 des Versammlungsgesetzes ist eindeutig un... | 970 |
2015-01-19 09:00:37 | Frontfrau erklärt Motive der Bewegung DIE W... | 936 |
2015-01-13 08:16:58 | Weiter so, unsere Regierung lügt und lügt und ... | 884 |
2014-12-18 23:48:24 | er hat recht, das ist unser land deutschland u... | 855 |
2015-01-26 20:53:25 | Der Wochentag ist egal, der Wille zählt! Und w... | 834 |
2015-01-23 11:05:36 | wir haben in Deutschland generell ein Problem,... | 831 |
2015-01-23 09:13:29 | Hallo Thorsten, eigentlich wollte ich hier nic... | 828 |
2015-01-23 09:21:25 | Hallo Thorsten, eigentlich wollte ich hier ni... | 828 |
2015-01-20 06:35:39 | Schande für Braunschweig Nachdem seit Wochen... | 815 |
Längster Kommentar ist 1108 Wörter lang!
top10length.Comment.to_csv('Top10LangeKommentare.csv', header='Die 10 längsten Kommentare')
An sonsten wird sich eher kurz gehalten.
corpus.Worte.plot(kind='hist', bins=200)
plt.ylabel(u'Anzahl der Kommentare')
plt.xlabel(u'Länge des Kommentars (Worte)')
plt.xlim(0, 200)
plt.savefig('Commentlength.png', dpi=150, bbox_inches='tight')
Use of the same word in context
corpustokens = nltk.wordpunct_tokenize(unicode(corpus.Comment.tolist()))
rawcommenttext = nltk.Text(corpustokens)
rawcommenttext.concordance("Systemmedien")
Displaying 25 of 92 matches: as passiert ? Sie werden von den Systemmedien hoffein gemacht oder verschwiege 4sche , L \ xc3 \ xbcgenpresse , Systemmedien ... Das w \ xc3 \ xa4re allerdin seit Wochen und Monaten von den Systemmedien und der Politikerkaste alles , a echerchiert als die Berichte der Systemmedien ', ' Und dein fb Profil nat \ xc nicht auf Deutschland - nur auf Systemmedien Propaganda , 68 er Schulunwesen GIDA - GEGNER meinen mit dem von Systemmedien erschaffenen Beispiel " IM OSTEN g des Islams !! Das wird von den Systemmedien doch nur vertuscht .', '\ x08Hey l als L \ xc3 \ xbcgenpresse und Systemmedien (\ xc3 \ xbcbrigens ein interess e Region vorverurteilt , von den Systemmedien . Pegida hat die Menschen zum De wird blo \ xc3 \ x9f von diesen Systemmedien ( woher kenne ich diesen Duktus au so ist es auch gekommen , die Systemmedien und unsere Minister versuchen mi h \ xc3 \ xb6rt man von unseren Systemmedien nat \ xc3 \ xbcrlich nichts \ xc " l \ xc3 \ xbcgenpresse " und " systemmedien " wie z . b . n - tv ??? :- D ', erei , einem beliebten Spiel der Systemmedien . Es war eine machtvolle Demonst aivchen .', ' Liebe Cornelia ... Systemmedien \ xc3 \ x96FFENTLICH RECHTLICH ' uer ', ' Unglaublich was uns die Systemmedien alles vorenthalten . H \ xc3 \ x nster Weise von den herrschenden Systemmedien . Der Islam hat seine Daseinsber . B . was die gleichgeschalteten Systemmedien und was die SA - Methoden der An ntieren !', ' Zum Umgang mit den Systemmedien : Ich w \ xc3 \ xbcrde PEGIDA dr aziergang mussten selbst von den Systemmedien 18500 ( RT lag bei + 30000 ) zug enschen in Deutschland , die den Systemmedien und der Kanzlerin immer noch bed an ihre Rechner und plappern den Systemmedien offenkundig unrealistische Zahle ungspolitik gegen \ xc3 \ xbcber Systemmedien bei Pegida ist ja z . B . auch s losgehen ( manipuliert werden - Systemmedien ). Da m \ xc3 \ xbcssten jetzt e Vom Staat aufgehetzte , von den Systemmedien indoktrinierte Schafe , welche e
rawcommenttext.concordance("Asylanten")
Displaying 25 of 866 matches: tehen , welche durch den zuzug von asylanten und kriegsfl \ xc3 \ xbcchtlingen n Linksspinner jetzt ne Demo gegen Asylanten veranstalten ?', ' Freunde , gleic arnicht , da \ xc3 \ x9f NPD gegen Asylanten ist . Pegida ist es definitiv nich sten 10 Jahren sollen zirka 100000 Asylanten allein nach Sachsen kommen . Mir w \ xc3 \ xa4tern in Berlin und den Asylanten zeigen , das WIR WIEDER Eier in de Asylgesetz sieht bereits jetzt vor Asylanten bei Beendigung der Bedrohung diese es sich ja NUR um " schmarotzende Asylanten " handelte ?', ' Das ganze ist mit ressiert nur Geld und Ruhm mit den Asylanten , neben ihren Villen w \ xc3 \ xbc Artikel gelesen hast , hatten die Asylanten eher nichts mit dem Islam am Hut . ', ' Ich w \ xc3 \ xbcrde lieber 2 Asylanten aufnehmen als einen von euch gg : l hier jahrelang an arbeitswillige Asylanten gezahlt wird , die nicht arbeiten nur im geringsten ein Problem mit Asylanten bzw Fl \ xc3 \ xbcchtlingen !', ' 3 \ xbcckung bzw Vertreibung von " Asylanten " oder Islamisten ( also gegen Men die finanzielle Vorteile durch die Asylanten haben . Bleib bitte sachlich wenn lagen . Maulhalten Ihr Politiker , Asylanten und vor ALLEM die ganzen zugewande \ xb6rts auf .', ' Nehmen uns die Asylanten eigentlich die Arbeitspl \ xc3 \ x ommy , wo liest Du irgendetwas von Asylanten ? Wenn man nicht mehr weiterwei \ hartz 4 empf \ xc3 \ xa4nger , die asylanten , die amerikaner . jedoch verberge tz 4 empf \ xc3 \ xa4ngern und den asylanten ganz viele unterschiedliche mensch bek \ xc3 \ xa4mpfen das sie diese Asylanten wieder dorthin schicken wo sie her spl \ xc3 \ xa4tze stehen dank den Asylanten auch auf dem Spiel ...!!!', ' Ob n sehr interessiert ist - noch mehr Asylanten aufzunehmen . Sie k \ xc3 \ xb6nne er im internet unter seinem namen asylanten als dreckspack und viehzeug diffar xa4ndert wird , werden wir von den asylanten und vom islam \ xc3 \ xbcberrannt chland hat wieder sooo einen armen asylanten aufgenommen , damit die regierung
rawcommenttext.concordance("Gutmensch")
Displaying 25 of 324 matches: vordere ein Verbot der Partei ', ' gutmensch alarm . 61 jahre alt und immer noc \ xa4u \ xc3 \ x9fert , wird als , Gutmensch ' oder , Antifa ' abgekanzelt . Sc e Juden ins Gas riefen , Herr Jack Gutmensch Marti ....', ' Du merkst wahrschei rfeindlich .', ' Antifa , Linker , Gutmensch oder Troll ??? Egal , alles Drecks ngars gibt !!!!!', ' Den Begriff " Gutmensch " sollten wir nicht verwenden . Er / 2012 / 04 / 24 / der - begriff - gutmensch - eine - erfindung - der - nazis - ie die da oben , ein unbelehrbarer Gutmensch !!!', ' Congrats !!! love to see t ? Sagt der irrsinige und premitive Gutmensch Hans Mair .', ' Beste Spruch war n benste und einf \ xc3 \ xa4ltigste Gutmensch - Verk \ xc3 \ xb6rperung wir hier w . duden . de / rechtschreibung / Gutmensch ', ' verst \ xc3 \ xa4ndlicher ?', habe die geschichte verstanden du Gutmensch ', ' Sag das nicht mir , sondern N Es kommt der Tag an dem der letzte Gutmensch auch noch wach wird ...', ' http : ochgeht , wird der ein oder andere Gutmensch erkennen , was hier los ist . Aber l ?', ' maria bach zb und das wort gutmensch solltest du noch mal nachschlagen .', ' Alleine das immer verwendete Gutmensch ist ein untr \ xc3 \ xbcgliches Ze f \ xc3 \ xbcr einige ( Stichwort Gutmensch ) noch nicht einfach genug . Und s enlernen ?', ' philipp du bist ein gutmensch ,,, wahrscheinlich bei mama und pa den hier sehr beliebten begriff " gutmensch "', ' Die Linken Steineschmeiser h bieten ? " Schlechtmensch " over " Gutmensch " ? Kein bischen erb \ xc3 \ xa4rm auch nicht vertrauen ', ' Auch ein Gutmensch !', ' Die m \ xc3 \ xbcssen sich j o Biebs du agierst genauso wie ein Gutmensch . Versuchst selbst klare Argumente - anstaendigen - muslime ', ' Hey Gutmensch , nehme welche von denen in deinen ich soooo geil !', ' Der Begriff " Gutmensch " ist eine Erfindung der Nazis . S rfindung der Nazis . Siehe unter " Gutmensch Konstantin Wecker Wolfgang Huste " die pegida ist wird man gleich als gutmensch , linker hetzer oder ! volksverr \
rawcommenttext.concordance("Gutmenschen")
Displaying 25 of 1416 matches: ndersrum .', ' schau dir doch die gutmenschen an ... zum kotzen ', ' Stimmt gen sorgen das alle Trolle und Antifa Gutmenschen morgen fr \ xc3 \ xbch mit D \ xc n , linksgr \ xc3 \ xbcnversiffte Gutmenschen beleidigt ( die " nazis raus " Ru s nochmal 70 pro Mann !! Wenn die Gutmenschen sagen die sind lieb dann sind sie r die Ampel - da lynchen dich die Gutmenschen beinahe . Aber bei einer Terrordr ie Videos im Netz gesehen ? Jedem Gutmenschen sollten sie 1 davon zeigen . Es g ".', ' Ich glaub jetzt drehen die Gutmenschen v \ xc3 \ xb6llig durch !?', ' Du alt wie die Gr \ xc3 \ xbcnen und Gutmenschen ein bisschen Bildungsresistent ma s ist der Unterschied . Und mit " Gutmenschen " werden derzeit Menschen bezeich bewusst , aber die meiste von den Gutmenschen werden sich die Windeln voll kack b ', ' Wenn man das Gegeifere der Gutmenschen hier so liest , dann wei \ xc3 \ st , Nazi oder was auch immer ihr Gutmenschen mir noch an den Kopf werfen w \ x 6n an die Rot - Gr \ xc3 \ xbcnen Gutmenschen .', ' Hier wir ja sauber gel \ xc ein gro \ xc3 \ x9fer teil der " gutmenschen " >> der begriff passt nur teilwe Dresden ! :-)', ' Wenn die ganzen Gutmenschen ihren Namen nur tanzen k \ xc3 \ chlimmer als in der DDR .', ' Die Gutmenschen - Anti - PEGIDA - Demonstranten . \ xbcber ', ' ne er sucht in der gutmenschen bibliothek , nach ausreden ,', ' stell ihn bei deines Gleichen den Gutmenschen ein !', ' 35 . 000 Menschen auf 8 utonomer Terrorist oder bestimmte Gutmenschen die naiv auf dem Regenbogen tanze d die Christen und die Juden sind gutmenschen ...... ha ha ha jede Religion hat egen Dich als Ober - Nazi ! Diese Gutmenschen liefern Kinder TOLERANT dem Relig c3 \ xbcberall hin ... wo ich nur gutmenschen sehe die ihre rosa rote brille tr ht \ xc3 \ xbcber so einen naiven Gutmenschen wie du .', ' JEDE ART von Terrori t gesagt ! Finde den Fehler !', ' Gutmenschen sind die , welche in allem nur gu c3 \ xbcr die BRAGIDA mobil diese Gutmenschen werden die ersten sein die auf di
rawcommenttext.concordance("Islamisierung")
Displaying 25 of 2763 matches: hintergrund " wegen eine sog . " Islamisierung " nicht mehr verhindern l \ xc3 bcr die Demokratie ! Aber an der Islamisierung \ xc3 \ xa4ndert niemand mehr et . Ich dachte ihr seid gegen die Islamisierung des Abendlandes . Nachhilfeunter ist , dass ihr unter dem Motto " Islamisierung " auf die Stra \ xc3 \ x9fe geht es angeblich gar nicht um die " Islamisierung " geht ( ihr marschiert doch unt ndern gegen die voranschreitende Islamisierung und Verfremdung der Republik . G t halt gemeint , wenn PEGIDA die islamisierung anprangert !!!...', ' Pegida und sie jetzt weitermachen mit ihrer Islamisierung deutschlands ', ' Ich finde den dioten ', ' Es geht nicht nur um Islamisierung und Asyl , es geht auch um die u schwaches argumentieren : D ', ' islamisierung STOPPEN ', ' das einzige was pas n man nicht ernst nehmen ! : D " Islamisierung des Abendlandes " ... wow ... da y , dann mal weg von Moslems und Islamisierung . Ich bin Miglied bei den Gr \ x schen zu helfen !', ' keine rede islamisierung - 5 miilonen t \ xc3 \ xbcrken , n seinem Manifest auch von einer Islamisierung Europas , sich so etwas auf die ure Seite nicht Realsatire ?', ' Islamisierung da f \ xc3 \ xa4llt mir \ xc3 \ xc3 \ xb6sen kann . " Gegen die Islamisierung des Abendlandes " klingt nicht u gkeit scheint auch die Angst vor islamisierung zu kommen ...', ' Knapp 3 Teilne hassten ossis zusammen gegen die Islamisierung sonst kommen die auch alle on de nicht moslems ', ' Gegen eine " islamisierung " NICHT " gegen Islam " da ist e xb6sen Gesellschaft aufjedenfall Islamisierung , ganz klar .', ' Wer am smartph einangst vor einer schleichenden Islamisierung verstecken ... wilde Verschw \ x !!', ' Schmei \ xc3 \ x9ft die " islamisierung " aus eurem namen , dann klappt uft ? : D und ihr seid gegen die Islamisierung ? Ich vermute mal die meisten ke xc3 \ xa4ge bez \ xc3 \ xbcglich Islamisierung oder Intergrationsprobleme : " T \ xc3 \ xa4hrend Pegida an der " Islamisierung " im Kernpunkt festh \ xc3 \ xa4
By @Balzer82, Data Analyst bei MechLab Engineering